def test_do_layout(self): container = self.create_graph_container() # test spring layout container.style = 'spring' self.assertTrue(container._graph_layout_needed) container.do_layout() self.assert_in_bounds(container) self.assertFalse(container._graph_layout_needed) # test tree layout container = self.create_graph_container() container.style = 'tree' self.assertTrue(container._graph_layout_needed) container.do_layout() self.assert_in_bounds(container) self.assertFalse(container._graph_layout_needed) # test shell layout container = self.create_graph_container() container.style = 'shell' self.assertTrue(container._graph_layout_needed) container.do_layout() self.assert_in_bounds(container) self.assertFalse(container._graph_layout_needed) # test spectral layout container = self.create_graph_container() container.style = 'spectral' self.assertTrue(container._graph_layout_needed) container.do_layout() self.assert_in_bounds(container) self.assertFalse(container._graph_layout_needed) # test circular layout g = networkx.balanced_tree(3, 5) container = GraphContainer(graph=g) for node in g.nodes(): GraphNodeComponent(container=container, value=node) container.style = 'circular' self.assertTrue(container._graph_layout_needed) container.do_layout() self.assert_in_bounds(container) self.assertFalse(container._graph_layout_needed)
def test_no_nodes(self): container = GraphContainer(graph=graph_from_dict({})) self.assertTrue(container.components == []) result = container.do_layout() self.assertIsNone(result)