def test_setup_path(self): self.path.setup_path(1) self.assertEquals(self.path._graph._node_count, 1) self.assertEquals(self.path._path, [1]) self.assertEquals(self.path.get_length(), 0) self.assert_path_consistency() # check that new path isn't added for same method new_path = MethodPath() new_path._db = self.path._db new_path._graph = DirectedGraph() new_path._load_graph() new_path.setup_path(1) self.assertEquals(new_path._graph._node_count, 1) self.assertEquals(new_path._path, [1]) self.assertEquals(new_path.get_length(), 0)
class TestMethodPath(unittest.TestCase): def setUp(self): self.tmp_dir = './tmp' if not os.path.exists(self.tmp_dir): os.mkdir(self.tmp_dir) self.path = MethodPath() with suppress_stderr(): # silence 'MESS.DB created' message self.path._db = MessDB(database='%s/test.db' % self.tmp_dir) self.path._graph = DirectedGraph() def tearDown(self): shutil.rmtree(self.tmp_dir) def assert_path_consistency(self): self.assertEquals(self.path._path_id, self.path.get_path_id()) def test_init(self): self.assertEquals(self.path._db.tries, 0) self.assertEquals(self.path._graph._node_count, 0) self.assertEquals(self.path._path, []) self.assertIsNone(self.path._path_id) self.assert_path_consistency() def test_load_graph(self): insert_query = 'INSERT INTO method_edge VALUES (?, ?, ?)' self.path._db.executemany(insert_query, ((1, 1, 1), (2, 1, 2), (3, 2, 3))) self.path._load_graph() self.assertEquals(sorted(self.path._graph.get_node_ids()), [1, 2, 3]) self.assert_path_consistency() def test_setup_path(self): self.path.setup_path(1) self.assertEquals(self.path._graph._node_count, 1) self.assertEquals(self.path._path, [1]) self.assertEquals(self.path.get_length(), 0) self.assert_path_consistency() # check that new path isn't added for same method new_path = MethodPath() new_path._db = self.path._db new_path._graph = DirectedGraph() new_path._load_graph() new_path.setup_path(1) self.assertEquals(new_path._graph._node_count, 1) self.assertEquals(new_path._path, [1]) self.assertEquals(new_path.get_length(), 0) def test_extend_path(self): self.path.setup_path(42) self.path.extend_path(43) self.assertEquals(self.path._graph._node_count, 2) self.assertEquals(self.path._path, [1, 2]) self.assertEquals(self.path.get_length(), 1) self.path.extend_path(44) self.assertEquals(self.path._graph._node_count, 3) self.assertEquals(self.path._path, [1, 2, 5]) self.assertEquals(self.path.get_length(), 2) self.path.extend_path(42) self.assertEquals(self.path._graph._node_count, 3) self.assertEquals(self.path._path, [1, 2, 5, 8]) self.assertEquals(self.path.get_length(), 3) self.assert_path_consistency() def test_set_path(self): self.path.setup_path(42) self.path.extend_path(43) self.path.extend_path(44) self.path.set_path(2) self.assertEquals(self.path._graph._node_count, 3) self.assertEquals(self.path._path, [1, 2]) self.assertEquals(self.path.get_length(), 1) self.assert_path_consistency() def test_get_path_id(self): self.assertIsNone(self.path.get_path_id()) self.path.setup_path(42) self.path.extend_path(43) self.path.extend_path(44) self.assertEquals(self.path.get_path_id(), 3) def test_get_parent_path_id(self): self.assertIsNone(self.path.get_parent_path_id()) self.path.setup_path(42) self.path.extend_path(43) self.path.extend_path(44) self.assertEquals(self.path.get_parent_path_id(), 2) def test_get_method_id(self): self.assertIsNone(self.path.get_method_id()) self.path.setup_path(42) self.assertEquals(self.path.get_method_id(), 42) self.path.extend_path(43) self.assertEquals(self.path.get_method_id(), 43) def test_get_parent_method_id(self): self.assertIsNone(self.path.get_parent_method_id()) self.path.setup_path(42) self.assertEquals(self.path.get_parent_method_id(), 42) self.path.extend_path(43) self.assertEquals(self.path.get_parent_method_id(), 42) self.path.extend_path(44) self.assertEquals(self.path.get_parent_method_id(), 43) def test_get_superparent_method_id(self): self.assertIsNone(self.path.get_superparent_method_id()) self.path.setup_path(42) self.assertEquals(self.path.get_parent_method_id(), 42) self.path.extend_path(43) self.assertEquals(self.path.get_parent_method_id(), 42) self.path.extend_path(44) self.assertEquals(self.path.get_superparent_method_id(), 42) self.path.extend_path(45) self.assertEquals(self.path.get_superparent_method_id(), 43) def test_get_directory(self): self.assertIsNone(self.path._get_directory(1, 2, 3)) def test_get_path_directory(self): self.assertIsNone(self.path.get_path_directory()) def test_get_parent_path_directory(self): self.assertIsNone(self.path.get_parent_path_directory())