• R/O
  • SSH

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2


Commit MetaInfo

修订版ebaf75a6c664844a545d5cc79c209792a0e38ec3 (tree)
时间2023-10-25 02:42:08
作者Albert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Log Message

Added test to verify TestDoubles AIGR representation of TheSieve protocols

更改概述

差异

diff -r 8187779f6215 -r ebaf75a6c664 Makefile
--- a/Makefile Tue Oct 24 19:28:45 2023 +0200
+++ b/Makefile Tue Oct 24 19:42:08 2023 +0200
@@ -22,7 +22,7 @@
2222 pytst/TD_AIGR/test_0_base.py \
2323 #
2424 rPY_CURRENT = \
25- pytst/TD_AIGR/test_1_sieve.py \
25+ pytst/TD_AIGR/test_1_sieve_protocols.py \
2626 pytst/aigr/test_3_namespaces.py \
2727 pytst/writers/RPy/test_3_SieveProtocols.py \
2828 #
diff -r 8187779f6215 -r ebaf75a6c664 pytst/TD_AIGR/test_1_sieve.py
--- a/pytst/TD_AIGR/test_1_sieve.py Tue Oct 24 19:28:45 2023 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
1-# (C) Albert Mietus, 2023. Part of Castle/CCastle project
2-"""Test AIGR representation of the TheSieve protocols
3- See: http://docideas.mietus.nl/en/default/CCastle/4.Blog/b.TheSieve.html#the-design
4-"""
5-
6-import pytest
7-
8-import castle.aigr as aigr
9-from TestDoubles.AIGR.sieve import protocols
10-from TestDoubles.AIGR.base import Protocol as base_Protocol
11-
12-
13-def verify_Protocol(p, name, event_names, base=None, no_events=None, cls=None):
14- if base is None:
15- base=base_Protocol
16- if no_events is None:
17- no_events = len(event_names)
18- if cls is None:
19- cls = aigr.EventProtocol
20-
21- assert isinstance(p, cls)
22- assert p.name == name
23- assert p.based_on is base
24- assert p._noEvents() == no_events
25- for no, name in enumerate(event_names):
26- assert p.events[no].name == name
27-
28-
29-
30-def test_StartSieve():
31- p = protocols.StartSieve
32- verify_Protocol(p, name="StartSieve", event_names=('runTo', 'newMax'))
33-
34-def test_SlowStart():
35- p = protocols.SlowStart
36- verify_Protocol(p, name="SlowStart", event_names=['setMax'])
37-
38-def test_SlowStart_1():
39- from castle.aigr.protocols import ProtocolWrapper
40- p = protocols.SlowStart_1
41- verify_Protocol(p, name="SlowStart_1", cls=ProtocolWrapper, base=protocols.SlowStart, event_names=['setMax'])
42-
43-def test_SimpleSieve():
44- p = protocols.SimpleSieve
45- verify_Protocol(p, name="SimpleSieve", base=protocols.SlowStart_1, event_names=['input'])
46-
47-
48-
diff -r 8187779f6215 -r ebaf75a6c664 pytst/TD_AIGR/test_1_sieve_protocols.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pytst/TD_AIGR/test_1_sieve_protocols.py Tue Oct 24 19:42:08 2023 +0200
@@ -0,0 +1,48 @@
1+# (C) Albert Mietus, 2023. Part of Castle/CCastle project
2+"""Test AIGR representation of the TheSieve protocols
3+ See: http://docideas.mietus.nl/en/default/CCastle/4.Blog/b.TheSieve.html#the-design
4+"""
5+
6+import pytest
7+
8+import castle.aigr as aigr
9+from TestDoubles.AIGR.sieve import protocols
10+from TestDoubles.AIGR.base import Protocol as base_Protocol
11+
12+
13+def verify_Protocol(p, name, event_names, base=None, no_events=None, cls=None):
14+ if base is None:
15+ base=base_Protocol
16+ if no_events is None:
17+ no_events = len(event_names)
18+ if cls is None:
19+ cls = aigr.EventProtocol
20+
21+ assert isinstance(p, cls)
22+ assert p.name == name
23+ assert p.based_on is base
24+ assert p._noEvents() == no_events
25+ for no, name in enumerate(event_names):
26+ assert p.events[no].name == name
27+
28+
29+
30+def test_StartSieve():
31+ p = protocols.StartSieve
32+ verify_Protocol(p, name="StartSieve", event_names=('runTo', 'newMax'))
33+
34+def test_SlowStart():
35+ p = protocols.SlowStart
36+ verify_Protocol(p, name="SlowStart", event_names=['setMax'])
37+
38+def test_SlowStart_1():
39+ from castle.aigr.protocols import ProtocolWrapper
40+ p = protocols.SlowStart_1
41+ verify_Protocol(p, name="SlowStart_1", cls=ProtocolWrapper, base=protocols.SlowStart, event_names=['setMax'])
42+
43+def test_SimpleSieve():
44+ p = protocols.SimpleSieve
45+ verify_Protocol(p, name="SimpleSieve", base=protocols.SlowStart_1, event_names=['input'])
46+
47+
48+