예제 #1
0
 def test_returns_true_for_graph_with_cycle(self):
     g = UndirectedGraph()
     g.add_edge(1, 2, 1)
     g.add_edge(4, 1, 1)
     g.add_edge(2, 3, 1)
     g.add_edge(3, 1, 1)
     self.assertFalse(is_bipartite(g))
예제 #2
0
 def test_returns_true_for_graph_with_multiple_connected_componenets(self):
     g = UndirectedGraph()
     g.add_edge(5, 2, 1)
     g.add_edge(4, 2, 1)
     g.add_edge(3, 4, 1)
     g.add_edge(1, 4, 1)
     g.add_edge(6, 7, 1)
     self.assertTrue(is_bipartite(g))
예제 #3
0
 def test_returns_true_for_empty_graph(self):
     self.assertTrue(is_bipartite(UndirectedGraph()))
예제 #4
0
 def test_returns_true_for_graph_as_list(self):
     g = UndirectedGraph()
     g.add_edge(1, 2, 1)
     g.add_edge(2, 3, 1)
     self.assertTrue(is_bipartite(g))
예제 #5
0
 def test_returns_true_for_graph_without_edges(self):
     g = UndirectedGraph()
     g.add_vertex(1)
     g.add_vertex(2)
     g.add_vertex(3)
     self.assertTrue(is_bipartite(g))
예제 #6
0
 def test_returns_true_for_graph_with_single_vertex(self):
     g = UndirectedGraph()
     g.add_vertex(1)
     self.assertTrue(is_bipartite(g))