Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2
修订版 | ebaf75a6c664844a545d5cc79c209792a0e38ec3 (tree) |
---|---|
时间 | 2023-10-25 02:42:08 |
作者 | Albert Mietus < albert AT mietus DOT nl > |
Commiter | Albert Mietus < albert AT mietus DOT nl > |
Added test to verify TestDoubles AIGR representation of TheSieve protocols
@@ -22,7 +22,7 @@ | ||
22 | 22 | pytst/TD_AIGR/test_0_base.py \ |
23 | 23 | # |
24 | 24 | rPY_CURRENT = \ |
25 | - pytst/TD_AIGR/test_1_sieve.py \ | |
25 | + pytst/TD_AIGR/test_1_sieve_protocols.py \ | |
26 | 26 | pytst/aigr/test_3_namespaces.py \ |
27 | 27 | pytst/writers/RPy/test_3_SieveProtocols.py \ |
28 | 28 | # |
@@ -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 | - |
@@ -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 | + |