Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2
修订版 | 1f0754f0b68e5eef57b71e6d0b149ddb79e10caa (tree) |
---|---|
时间 | 2024-05-29 23:10:27 |
作者 | Albert Mietus < albert AT mietus DOT nl > |
Commiter | Albert Mietus < albert AT mietus DOT nl > |
@@ -9,7 +9,7 @@ | ||
9 | 9 | |
10 | 10 | from . import _statement, AIGR, NamedNode |
11 | 11 | |
12 | -if PTH.TYPE_CHECKING: | |
12 | +if PTH.TYPE_CHECKING: # pragma: no cover | |
13 | 13 | from .. import Body, ComponentInterface, TypedParameter |
14 | 14 | from .. import ID |
15 | 15 |
@@ -9,7 +9,7 @@ | ||
9 | 9 | from . import _statement, AIGR |
10 | 10 | from ..nodes import NamedNode |
11 | 11 | |
12 | -if PTH.TYPE_CHECKING: | |
12 | +if PTH.TYPE_CHECKING: # pragma: no cover | |
13 | 13 | from .. import Body, ComponentInterface, TypedParameter |
14 | 14 | |
15 | 15 | @dataclass |
@@ -4,7 +4,7 @@ | ||
4 | 4 | from .. import verifyKids |
5 | 5 | |
6 | 6 | from castle.aigr import expressions, ID |
7 | - | |
7 | +from castle import aigr | |
8 | 8 | |
9 | 9 | def test_call(): |
10 | 10 | c = expressions.Call(callable=ID('foo'), arguments=()) |
@@ -17,3 +17,25 @@ | ||
17 | 17 | assert str(c.callable) == 'foo' |
18 | 18 | assert c.arguments==() |
19 | 19 | verifyKids(c) |
20 | + | |
21 | + | |
22 | +def verify_Part(p, base=None, attribute=None, index=None): | |
23 | + assert p.base == base | |
24 | + assert p.attribute == attribute | |
25 | + assert p.index == index | |
26 | + | |
27 | +def test_Part_attribute(): | |
28 | + c = expressions.Part(base=ID('base'), attribute=ID('attribute')) | |
29 | + verify_Part(c, base='base', attribute='attribute') | |
30 | + | |
31 | +def test_Part_index(): | |
32 | + c = expressions.Part(base=ID('base'), index=ID('index')) | |
33 | + verify_Part(c, base='base', index='index') | |
34 | + | |
35 | +def test_Part_onePart(): | |
36 | + with pytest.raises(aigr.errors.PartError): | |
37 | + expressions.Part(base=ID('base')) | |
38 | + | |
39 | +def test_Part_notBoth(): | |
40 | + with pytest.raises(aigr.errors.PartError): | |
41 | + expressions.Part(base=ID('base'), attribute=ID('attribute'), index='index') |
@@ -10,7 +10,7 @@ | ||
10 | 10 | |
11 | 11 | def test_1_emptyBody(): |
12 | 12 | b = Body() |
13 | - assert len(b.statements) == 0 | |
13 | + assert len(b) == 0 | |
14 | 14 | |
15 | 15 | def test_2_Body_withIndex(): |
16 | 16 | s1,s2 = Dummy('s1'), Dummy('s2') |
@@ -4,6 +4,7 @@ | ||
4 | 4 | "_kids =", |
5 | 5 | "logger.warning(", |
6 | 6 | "logger.debug(", |
7 | + "logger.info(", | |
7 | 8 | ) |
8 | 9 | |
9 | 10 | def pre_mutation(context): |