コード例 #1
0
ファイル: eppstein.py プロジェクト: BIGtigr/xgcode
 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)
コード例 #2
0
ファイル: eppstein.py プロジェクト: BIGtigr/xgcode
 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)
コード例 #3
0
ファイル: eppstein.py プロジェクト: argriffing/xgcode
 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)
コード例 #4
0
ファイル: eppstein.py プロジェクト: argriffing/xgcode
 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)
コード例 #5
0
ファイル: eppstein.py プロジェクト: BIGtigr/xgcode
 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)
コード例 #6
0
ファイル: eppstein.py プロジェクト: BIGtigr/xgcode
 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)
コード例 #7
0
ファイル: eppstein.py プロジェクト: BIGtigr/xgcode
 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)
コード例 #8
0
ファイル: eppstein.py プロジェクト: BIGtigr/xgcode
 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)
コード例 #9
0
ファイル: eppstein.py プロジェクト: BIGtigr/xgcode
 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)
コード例 #10
0
ファイル: eppstein.py プロジェクト: argriffing/xgcode
 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)
コード例 #11
0
ファイル: eppstein.py プロジェクト: argriffing/xgcode
 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)
コード例 #12
0
ファイル: eppstein.py プロジェクト: argriffing/xgcode
 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)
コード例 #13
0
ファイル: eppstein.py プロジェクト: argriffing/xgcode
 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)
コード例 #14
0
ファイル: eppstein.py プロジェクト: argriffing/xgcode
 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)