def testValidColoring(self): g = make_claw() # test invalid claw coloring coloring = [[0, 1, 2, 3]] valid = valid_coloring(coloring, g) self.assertEqual(valid, False, "Valid coloring: Failed for one coloring on claw") coloring = [[1, 3, 2], [0]] valid = valid_coloring(coloring, g) self.assertEqual(valid, True, "Valid coloring: Failed for valid coloring on claw") # test valid claw coloring coloring = [[0], [1, 2, 3]] valid = valid_coloring(coloring, g) self.assertEqual(valid, True, "Valid coloring: Failed for valid coloring on claw") # test invalid claw coloring coloring = [[0, 1], [2, 3]] valid = valid_coloring(coloring, g) self.assertEqual(valid, False, "Valid coloring: Failed for invalid coloring on claw") # test valid diamond coloring g = make_diamond() coloring = [[0], [1], [2, 3]] valid = valid_coloring(coloring, g) self.assertEqual(valid, True, "Valid coloring: failed for valid coloring on diamond") coloring = [[3], [2], [0, 1]] valid = valid_coloring(coloring, g) self.assertEqual(valid, False, ''' Valid coloring: failed for invalid coloring on diamond ''')
def testInducedSubgraph(self): h = make_claw() g = make_wheel(7) induced = induced_subgraph(g, h) expected = [0, 2, 4, 6] self.assertEqual(induced.nodes(), expected, "Contains: Failed to find a claw in W7")
def testChromaticNumber(self): g = make_claw() chromatic = chromatic_number(g) expect = 2 self.assertEqual(expect, chromatic, "Chromatic Number: Claw Case") g = make_diamond() chromatic = chromatic_number(g) expect = 3 self.assertEqual(expect, chromatic, "Chromatic Number: Diamond Case")
def testColoring(self): g = make_claw() result = coloring(g) expect = [[1, 3, 2], [0]] self.assertEqual(expect, result, "Coloring: Claw Case") g = make_diamond() result = coloring(g) expect = [[2, 3], [0], [1]] self.assertEqual(expect, result, "Coloring: Diamond Case") g = nx.Graph() g.add_node(0) g.add_node(1) result = coloring(g) expect = [[0, 1]] self.assertEqual(expect, result, "Coloring: Stable Set")
def testC7CoClawClawFree(self): g = make_cycle(7) subgraphs = [make_claw(), make_co_claw()] k_vertexes = k_vertex(g, subgraphs) for index, k in enumerate(k_vertexes): if index > 0: self.assertEqual(k['has_k_vertex'], False, ''' K Vertex says (claw,co-claw)-free Graph has a %s-vertex''' % index) else: self.assertEqual(k['has_k_vertex'], True, ''' K Vertex says (claw,co-claw)-free Graph has no a %s-vertex''' % index)
def setUp(self): self.dcolor = DenseColor(make_claw())