Browse Source

Tests: Updated test_merge_transformers

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.12.0
Erez Sh 3 years ago
parent
commit
d449513839
1 changed files with 8 additions and 15 deletions
  1. +8
    -15
      tests/test_trees.py

+ 8
- 15
tests/test_trees.py View File

@@ -264,10 +264,7 @@ class TestTrees(TestCase):
main = sum main = sum
start = list start = list
def module__main(self, children): def module__main(self, children):
prod = 1
for child in children:
prod *= child
return prod
return sum(children)


class T2(Transformer): class T2(Transformer):
A = int A = int
@@ -277,25 +274,21 @@ class TestTrees(TestCase):


class T3(Transformer): class T3(Transformer):
def main(self, children): def main(self, children):
prod = 1
for child in children:
prod *= child
return prod
return sum(children)


class T4(Transformer): class T4(Transformer):
def other_aspect(self, children):
pass
main = sum


t1_res = T1().transform(tree) t1_res = T1().transform(tree)
composed_res = merge_transformers(T2(), module=T3()).transform(tree) composed_res = merge_transformers(T2(), module=T3()).transform(tree)
self.assertEqual(t1_res, composed_res) self.assertEqual(t1_res, composed_res)

composed_res2 = merge_transformers(T2(), module=T4()).transform(tree)
self.assertEqual(t1_res, composed_res2)

with self.assertRaises(AttributeError): with self.assertRaises(AttributeError):
merge_transformers(T1(), module=T3()) merge_transformers(T1(), module=T3())


try:
composed = merge_transformers(T1(), module=T4())
except AttributeError:
self.fail("Should be able to add classes that do not conflict")

if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()

Loading…
Cancel
Save