Source code for devkit_ui.test_models

import unittest

from devkit_ui.models import TopoDoc, TopoEdge, TopoNode


[docs] class TestTopoDoc(unittest.TestCase):
[docs] def test_init_with_list_of_dict_nodes(self) -> None: doc = TopoDoc( name='test-topo', nodes=[ {'name': 'A', 'x': 1.0, 'y': 2.0, 'edges': []}, {'name': 'B', 'x': 3.0, 'y': 4.0, 'edges': ['A']}, ], ) self.assertTrue(doc.has_node('A')) self.assertTrue(doc.has_node('B')) self.assertIsInstance(doc.get_node('A'), TopoNode) self.assertEqual([e.node for e in doc.get_node('B').edges], ['A'])
[docs] def test_init_with_list_of_toponodes(self) -> None: node_a = TopoNode(name='A', x=0.0, y=0.0) node_b = TopoNode(name='B', x=1.0, y=1.0, edges=['A']) doc = TopoDoc(name='test-topo', nodes=[node_a, node_b]) self.assertTrue(doc.has_node('A')) self.assertTrue(doc.has_node('B')) self.assertEqual([e.node for e in doc.get_node('B').edges], ['A'])
[docs] def test_add_node_constructs_reverse_edges(self) -> None: doc = TopoDoc(name='test-topo', nodes=[TopoNode(name='A', x=0.0, y=0.0)]) node_b = TopoNode( name='B', x=1.0, y=1.0, edges=[TopoEdge(action='move_base', edge_id='B_A', node='A')], ) doc.add_node(node_b) self.assertTrue(doc.has_node('B')) self.assertIn( TopoEdge(action='move_base', edge_id='B_A', node='B'), list(doc.get_node('A').edges), )
if __name__ == '__main__': unittest.main()