• R/O
  • SSH

Commit

Tags
Keine 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

Revisionb128e4fff750b070f5edb105c5bb644e0bd6b8e1 (tree)
Zeit2022-02-26 00:21:30
AutorAlbert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Log Message

Refactored (AST2XML) tests: keep localverify-function local

Ändern Zusammenfassung

Diff

diff -r 9d73bcba9bf6 -r b128e4fff750 pytst/ast/XML_serialization/__init__.py
--- a/pytst/ast/XML_serialization/__init__.py Tue Feb 22 23:42:30 2022 +0100
+++ b/pytst/ast/XML_serialization/__init__.py Fri Feb 25 16:21:30 2022 +0100
@@ -45,21 +45,3 @@
4545
4646 if child_count:
4747 assert len(found) == child_count, f"The number of children of '{tag}' is {len(found)}, which does not match the specified child_count={child_count}"
48-
49-
50-
51-def verify_QuantityGroup(xml_serialize, pegGrp, tagName):
52- seq = StdSequence_withAsserts()
53- txt = xml_serialize(pegGrp(expr=seq.seq))
54- logger.debug(f'XML:: {txt}')
55-
56- assert_xml_Element(txt, tagName)
57- seq.assert_xml_Element(txt)
58-
59-
60-def verify_QuantityID(xml_serialize, pegGrp, tagName, id_name='JustAName'):
61- txt = xml_serialize(pegGrp(expr=peg.ID(name=id_name)))
62- logger.debug(f'XML:: {txt}')
63-
64- assert_xml_Element(txt, tagName)
65- assert_xml_Element(txt, tag='.//ID', name=id_name)
diff -r 9d73bcba9bf6 -r b128e4fff750 pytst/ast/XML_serialization/test_1_simpleXML.py
--- a/pytst/ast/XML_serialization/test_1_simpleXML.py Tue Feb 22 23:42:30 2022 +0100
+++ b/pytst/ast/XML_serialization/test_1_simpleXML.py Fri Feb 25 16:21:30 2022 +0100
@@ -4,7 +4,7 @@
44
55 from castle.ast import peg, serialization
66
7-from . import StdSequence_withAsserts, assert_xml_Element, verify_QuantityGroup, verify_QuantityID
7+from . import StdSequence_withAsserts, assert_xml_Element
88
99
1010 @pytest.fixture
@@ -84,17 +84,35 @@
8484 assert tree.findall('.//Rule[2]//StrTerm')[0].attrib['value'] == 'str2'
8585
8686
87+
88+def verify_QuantityGroup(xml_serialize, pegGrp, tagName):
89+ seq = StdSequence_withAsserts()
90+ txt = xml_serialize(pegGrp(expr=seq.seq))
91+ logger.debug(f'XML:: {txt}')
92+
93+ assert_xml_Element(txt, tagName)
94+ seq.assert_xml_Element(txt)
95+
8796 def test_OptionalSeq(xml_serialize): verify_QuantityGroup(xml_serialize, peg.Optional, 'Optional') ## ` ( ...)? `
8897 def test_ZeroOrMoreSeq(xml_serialize): verify_QuantityGroup(xml_serialize, peg.ZeroOrMore, 'ZeroOrMore') ## ` ( ...)* `
8998 def test_OneOrMoreSeq(xml_serialize): verify_QuantityGroup(xml_serialize, peg.OneOrMore, 'OneOrMore') ## ` ( ...)+ `
9099 def test_UnorderedGroup(xml_serialize): verify_QuantityGroup(xml_serialize, peg.UnorderedGroup, 'UnorderedGroup') ## ` ( ...)# ` # Only useful for a group/sequence!!
91100
101+
102+def verify_QuantityID(xml_serialize, pegGrp, tagName, id_name='JustAName'):
103+ txt = xml_serialize(pegGrp(expr=peg.ID(name=id_name)))
104+ logger.debug(f'XML:: {txt}')
105+
106+ assert_xml_Element(txt, tagName)
107+ assert_xml_Element(txt, tag='.//ID', name=id_name)
108+
92109 def test_OptionalID(xml_serialize): verify_QuantityID(xml_serialize, peg.Optional, 'Optional')
93110 def test_ZeroOrMoreID(xml_serialize): verify_QuantityID(xml_serialize, peg.ZeroOrMore, 'ZeroOrMore')
94111 def test_OneOrMoreID(xml_serialize): verify_QuantityID(xml_serialize, peg.OneOrMore, 'OneOrMore')
95112 def test_UnorderedID(xml_serialize): verify_QuantityID(xml_serialize, peg.UnorderedGroup, 'UnorderedGroup', 'strange') ## A bit uncommon: an unordered group of ONE! But it should work.
96113
97114
115+
98116 def test_OC3(xml_serialize): # e1 | e2 | e2
99117 e1, e2, e3 = peg.ID(name='ID_1'), peg.StrTerm(value='str_2'), peg.RegExpTerm(value='regexp_3')
100118 txt = xml_serialize(peg.OrderedChoice(children=[e1,e2,e3]))
@@ -178,3 +196,6 @@
178196 assert len(tree.findall('.//Setting')) == 2
179197 assert len(tree.findall('.//ID')) == 2
180198
199+
200+
201+