def test_tree_type_path(self): V = set(range(6)) U = set([ graph.fs(5, 0), graph.fs(0, 3), graph.fs(3, 2), graph.fs(1, 4), graph.fs(2, 1) ]) observed = get_tree_type(V, U) self.assertEqual(observed, TREE_TYPE_PATH)
def test_tree_type_rake(self): V = set(range(6)) U = set([ graph.fs(5, 0), graph.fs(5, 1), graph.fs(5, 4), graph.fs(4, 2), graph.fs(4, 3) ]) observed = get_tree_type(V, U) self.assertEqual(observed, TREE_TYPE_RAKE)
def test_subtree_max_degree(self): V = set(range(7)) U = set([graph.fs(5, 0), graph.fs(5, 1), graph.fs(5, 4), graph.fs(4, 2), graph.fs(4, 3), graph.fs(4, 6)]) observed = get_subtree_max_degree_map(V, U) expected = { (6, 4): 4, (5, 4): 4, (4, 3): 1, (4, 5): 3, (1, 5): 4, (0, 5): 4, (5, 0): 1, (5, 1): 1, (4, 2): 1, (3, 4): 4, (2, 4): 4, (4, 6): 1, } self.assertEqual(observed, expected)
def test_subtree_type(self): V = set(range(7)) U = set([graph.fs(5, 0), graph.fs(5, 1), graph.fs(5, 4), graph.fs(4, 2), graph.fs(4, 3), graph.fs(4, 6)]) observed = get_subtree_type_map(V, U) expected = { (6, 4): SUBTREE_OTHER, (5, 4): SUBTREE_OTHER, (4, 3): SUBTREE_PATH, (4, 5): SUBTREE_RAKE, (1, 5): SUBTREE_OTHER, (0, 5): SUBTREE_OTHER, (5, 0): SUBTREE_PATH, (5, 1): SUBTREE_PATH, (4, 2): SUBTREE_PATH, (3, 4): SUBTREE_OTHER, (2, 4): SUBTREE_OTHER, (4, 6): SUBTREE_PATH, } self.assertEqual(observed, expected)
def test_subtree_max_degree(self): V = set(range(7)) U = set([ graph.fs(5, 0), graph.fs(5, 1), graph.fs(5, 4), graph.fs(4, 2), graph.fs(4, 3), graph.fs(4, 6) ]) observed = get_subtree_max_degree_map(V, U) expected = { (6, 4): 4, (5, 4): 4, (4, 3): 1, (4, 5): 3, (1, 5): 4, (0, 5): 4, (5, 0): 1, (5, 1): 1, (4, 2): 1, (3, 4): 4, (2, 4): 4, (4, 6): 1 } self.assertEqual(observed, expected)
def test_subtree_type(self): V = set(range(7)) U = set([ graph.fs(5, 0), graph.fs(5, 1), graph.fs(5, 4), graph.fs(4, 2), graph.fs(4, 3), graph.fs(4, 6) ]) observed = get_subtree_type_map(V, U) expected = { (6, 4): SUBTREE_OTHER, (5, 4): SUBTREE_OTHER, (4, 3): SUBTREE_PATH, (4, 5): SUBTREE_RAKE, (1, 5): SUBTREE_OTHER, (0, 5): SUBTREE_OTHER, (5, 0): SUBTREE_PATH, (5, 1): SUBTREE_PATH, (4, 2): SUBTREE_PATH, (3, 4): SUBTREE_OTHER, (2, 4): SUBTREE_OTHER, (4, 6): SUBTREE_PATH } self.assertEqual(observed, expected)
def test_tree_type_high_degree(self): V = set(range(7)) U = set([ graph.fs(5, 0), graph.fs(5, 1), graph.fs(5, 4), graph.fs(4, 2), graph.fs(4, 3), graph.fs(4, 6) ]) observed = get_tree_type(V, U) self.assertEqual(observed, TREE_TYPE_OTHER)
def test_high_degree_mst(self): V = set(range(18)) - set([12]) U = set([ graph.fs(0, 1), graph.fs(1, 2), graph.fs(2, 3), graph.fs(3, 4), graph.fs(4, 5), graph.fs(5, 6), graph.fs(6, 7), graph.fs(7, 8), # graph.fs(7, 9), graph.fs(6, 10), graph.fs(5, 11), # #graph.fs(3, 12), # graph.fs(2, 13), graph.fs(1, 14), # graph.fs(4, 15), graph.fs(15, 16), graph.fs(15, 17) ]) V_mst, U_mst = get_high_degree_mst(V, U) V_mst_expected = set([1, 2, 3, 4, 5, 6, 7, 15]) U_mst_expected = set([ graph.fs(1, 2), graph.fs(2, 3), graph.fs(3, 4), graph.fs(4, 5), graph.fs(5, 6), graph.fs(6, 7), graph.fs(4, 15) ]) self.assertEqual(V_mst, V_mst_expected) self.assertEqual(U_mst, U_mst_expected)
def test_tree_type_other(self): V = set(range(18)) U = set([ graph.fs(0, 1), # #graph.fs(1, 2), graph.fs(1, 10), # graph.fs(2, 3), graph.fs(3, 4), graph.fs(4, 5), graph.fs(5, 6), graph.fs(6, 7), graph.fs(7, 8), # graph.fs(7, 9), graph.fs(6, 10), graph.fs(5, 11), graph.fs(3, 12), graph.fs(2, 13), graph.fs(1, 14), # graph.fs(4, 15), graph.fs(15, 16), graph.fs(15, 17) ]) observed = get_tree_type(V, U) self.assertEqual(observed, TREE_TYPE_OTHER)
def test_high_degree_mst(self): V = set(range(18)) - set([12]) U = set( [ graph.fs(0, 1), graph.fs(1, 2), graph.fs(2, 3), graph.fs(3, 4), graph.fs(4, 5), graph.fs(5, 6), graph.fs(6, 7), graph.fs(7, 8), # graph.fs(7, 9), graph.fs(6, 10), graph.fs(5, 11), # # graph.fs(3, 12), # graph.fs(2, 13), graph.fs(1, 14), # graph.fs(4, 15), graph.fs(15, 16), graph.fs(15, 17), ] ) V_mst, U_mst = get_high_degree_mst(V, U) V_mst_expected = set([1, 2, 3, 4, 5, 6, 7, 15]) U_mst_expected = set( [ graph.fs(1, 2), graph.fs(2, 3), graph.fs(3, 4), graph.fs(4, 5), graph.fs(5, 6), graph.fs(6, 7), graph.fs(4, 15), ] ) self.assertEqual(V_mst, V_mst_expected) self.assertEqual(U_mst, U_mst_expected)
def test_tree_type_other(self): V = set(range(18)) U = set( [ graph.fs(0, 1), # # graph.fs(1, 2), graph.fs(1, 10), # graph.fs(2, 3), graph.fs(3, 4), graph.fs(4, 5), graph.fs(5, 6), graph.fs(6, 7), graph.fs(7, 8), # graph.fs(7, 9), graph.fs(6, 10), graph.fs(5, 11), graph.fs(3, 12), graph.fs(2, 13), graph.fs(1, 14), # graph.fs(4, 15), graph.fs(15, 16), graph.fs(15, 17), ] ) observed = get_tree_type(V, U) self.assertEqual(observed, TREE_TYPE_OTHER)
def test_tree_type_path(self): V = set(range(6)) U = set([graph.fs(5, 0), graph.fs(0, 3), graph.fs(3, 2), graph.fs(1, 4), graph.fs(2, 1)]) observed = get_tree_type(V, U) self.assertEqual(observed, TREE_TYPE_PATH)
def test_tree_type_rake(self): V = set(range(6)) U = set([graph.fs(5, 0), graph.fs(5, 1), graph.fs(5, 4), graph.fs(4, 2), graph.fs(4, 3)]) observed = get_tree_type(V, U) self.assertEqual(observed, TREE_TYPE_RAKE)
def test_tree_type_high_degree(self): V = set(range(7)) U = set([graph.fs(5, 0), graph.fs(5, 1), graph.fs(5, 4), graph.fs(4, 2), graph.fs(4, 3), graph.fs(4, 6)]) observed = get_tree_type(V, U) self.assertEqual(observed, TREE_TYPE_OTHER)