diff options
author | Daniel Friesel <derf@finalrewind.org> | 2019-02-21 16:42:16 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2019-02-21 16:42:16 +0100 |
commit | 6e72c1b2b53e2290dc5cb7aa218c620a0ee979d4 (patch) | |
tree | 086ffd7f5833f74dde206c925b7ec17186388ad0 /bin | |
parent | 115274b46b61180ca1fea79511482fc704b552ca (diff) |
PTA trace: Return transition objects, not just names
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/test_automata.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/bin/test_automata.py b/bin/test_automata.py index 2b6b3d4..aafc50b 100755 --- a/bin/test_automata.py +++ b/bin/test_automata.py @@ -85,24 +85,29 @@ example_json_1 = { ], } +def dfs_tran_to_name(runs: list, with_args: bool) -> list: + if with_args: + return list(map(lambda run: list(map(lambda x: (x[0].name, x[1]), run)), runs)) + return list(map(lambda run: list(map(lambda transition: transition.name, run)), runs)) + class TestPTA(unittest.TestCase): def test_dfs(self): pta = PTA(['IDLE', 'TX']) pta.add_transition('UNINITIALIZED', 'IDLE', 'init') pta.add_transition('IDLE', 'TX', 'send') pta.add_transition('TX', 'IDLE', 'txComplete') - self.assertEqual(list(pta.dfs(0)), [['init']]) - self.assertEqual(list(pta.dfs(1)), [['init', 'send']]) - self.assertEqual(list(pta.dfs(2)), [['init', 'send', 'txComplete']]) - self.assertEqual(list(pta.dfs(3)), [['init', 'send', 'txComplete', 'send']]) + self.assertEqual(dfs_tran_to_name(pta.dfs(0), False), [['init']]) + self.assertEqual(dfs_tran_to_name(pta.dfs(1), False), [['init', 'send']]) + self.assertEqual(dfs_tran_to_name(pta.dfs(2), False), [['init', 'send', 'txComplete']]) + self.assertEqual(dfs_tran_to_name(pta.dfs(3), False), [['init', 'send', 'txComplete', 'send']]) pta = PTA(['IDLE']) pta.add_transition('UNINITIALIZED', 'IDLE', 'init') pta.add_transition('IDLE', 'IDLE', 'set1') pta.add_transition('IDLE', 'IDLE', 'set2') - self.assertEqual(list(pta.dfs(0)), [['init']]) - self.assertEqual(sorted(pta.dfs(1)), [['init', 'set1'], ['init', 'set2']]) - self.assertEqual(sorted(pta.dfs(2)), [['init', 'set1', 'set1'], + self.assertEqual(list(map(lambda x: list(map(lambda y: y.name, x)), pta.dfs(0))), [['init']]) + self.assertEqual(sorted(map(lambda x: list(map(lambda y: y.name, x)), pta.dfs(1))), [['init', 'set1'], ['init', 'set2']]) + self.assertEqual(sorted(map(lambda x: list(map(lambda y: y.name, x)), pta.dfs(2))), [['init', 'set1', 'set1'], ['init', 'set1', 'set2'], ['init', 'set2', 'set1'], ['init', 'set2', 'set2']]) @@ -122,8 +127,8 @@ class TestPTA(unittest.TestCase): def test_from_json_dfs(self): pta = PTA.from_json(example_json_1) - self.assertEqual(sorted(pta.dfs(1)), [['init', 'init'], ['init', 'send'], ['init', 'setTxPower']]) - self.assertEqual(sorted(pta.dfs(1, with_arguments = True)), + self.assertEqual(sorted(dfs_tran_to_name(pta.dfs(1), False)), [['init', 'init'], ['init', 'send'], ['init', 'setTxPower']]) + self.assertEqual(sorted(dfs_tran_to_name(pta.dfs(1, with_arguments = True), True)), [ [('init', ()), ('init', ())], [('init', ()), ('send', ('"foo"', 3))], |