def test_MSVS_8(self): for i in range(0, 10): V, E = randomGNP(20, 0.2) G = Graph(V, E) T, w = tdlib.trivial_decomposition(G) T, w = tdlib.MSVS(G, T) self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
def test_minimalChordal_trivial(self): print("---minimalChordal_trivial---") for i in range(0, COUNT+1): G = Graph(eval(PREFIX+".V_"+str(i)), eval(PREFIX+".E_"+str(i))) base.print_graph_name(PREFIX, i) T1, w1 = tdlib.trivial_decomposition(G) T2, w2 = tdlib.minimalChordal_decomp(G, T1) self.assertEqual(tdlib.is_valid_treedecomposition(G, T2), True)
def test_MSVS_trivial(self): print("---MSVS_trivial---") for i in range(0, COUNT+1): base.print_graph_name(PREFIX, i) G = Graph(eval(PREFIX+".V_"+str(i)), eval(PREFIX+".E_"+str(i))) T1, w1 = tdlib.trivial_decomposition(G) T2, w2 = tdlib.MSVS(G, T1) self.assertEqual(tdlib.is_valid_treedecomposition(G, T2), True)
def test_MSVS_5(self): G = Graph(V_Wagner, E_Wagner) T, w = tdlib.trivial_decomposition(G) T, w = tdlib.MSVS(G, T) self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True) self.assertEqual(w, 4)
def test_minimalChordal_2(self): G = Graph(V_K5, E_K5) T, w = tdlib.trivial_decomposition(G) T, w = tdlib.minimalChordal_decomp(G, T) self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True) self.assertEqual(w, 4)
def test_MSVS_6(self): G = Graph(V_Pappus, E_Pappus) T, w = tdlib.trivial_decomposition(G) T, w = tdlib.MSVS(G, T) self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True) self.assertEqual(w, 6)
def test_MSVS_3(self): G = Graph(V_Petersen, E_Petersen) T, w = tdlib.trivial_decomposition(G) T, w = tdlib.MSVS(G, T) self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True) self.assertEqual(w, 4)
def test_trivial_decomposition_4(self): G = Graph(V_Petersen_double, E_Petersen_double) T, w = tdlib.trivial_decomposition(G) self.assertEqual(T.vertices(), [V_Petersen_double])
def test_minimalChordal_4(self): G = Graph(V_Petersen_double, E_Petersen_double) T, w = tdlib.trivial_decomposition(G) T, w = tdlib.minimalChordal_decomp(G, T) self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True) self.assertEqual(w, 4)
def test_minimalChordal_0(self): for V, E in cornercases: G = Graph(V, E) T, w = tdlib.trivial_decomposition(G) T, w = tdlib.minimalChordal_decomp(G, T) self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
def test_MSVS_7(self): G = Graph(V_Grid_5_5, E_Grid_5_5) T, w = tdlib.trivial_decomposition(G) T, w = tdlib.MSVS(G, T) self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True) self.assertEqual(w, 5)
def test_trivial_decomposition_2(self): G = Graph(V_K5, E_K5) T, w = tdlib.trivial_decomposition(G) self.assertEqual(T.vertices(), [V_K5])
def test_trivial_decomposition_3(self): G = Graph(V_Petersen, E_Petersen) T, w = tdlib.trivial_decomposition(G) self.assertEqual(T.vertices(), [V_Petersen])
def test_trivial_decomposition_6(self): G = Graph(V_Pappus, E_Pappus) T, w = tdlib.trivial_decomposition(G) self.assertEqual(T.vertices(), [V_Pappus])
def test_trivial_decomposition_5(self): G = Graph(V_Wagner, E_Wagner) T, w = tdlib.trivial_decomposition(G) self.assertEqual(T.vertices(), [V_Wagner])
def test_trivial_decomposition_7(self): G = Graph(V_Grid_5_5, E_Grid_5_5) T, w = tdlib.trivial_decomposition(G) self.assertEqual(T.vertices(), [V_Grid_5_5])
def test_trivial_decomposition_8(self): for i in range(0, 10): V, E = randomGNP(20, 0.2) G = Graph(V, E) T, w = tdlib.trivial_decomposition(G) self.assertEqual(T.vertices(), [V])
def test_is_valid_treedecomposition_0(self): G = Graph(V_P6, E_P6) T, w = tdlib.trivial_decomposition(G) self.assertEqual(tdlib.is_valid_treedecomposition(G, T), True)
def test_is_valid_treedecomposition_1(self): G = Graph(V_P6, E_P6) T, w = tdlib.trivial_decomposition(G) self.assertEqual( tdlib.is_valid_treedecomposition(Graph(V_K5, E_K5), T, False), False)
def test_trivial_decomposition_0(self): for V, E in cornercases: G = Graph(V, E) T, w = tdlib.trivial_decomposition(G) self.assertEqual(T.vertices(), [V])
def test_trivial_decomposition_1(self): G = Graph(V_P6, E_P6) T, w = tdlib.trivial_decomposition(G) self.assertEqual(T.vertices(), [V_P6])