def test_dfs_lexicographical_order(self): """ A escolha do algoritmo deve ser sempre por seguir a ordem lexicografica. """ graph = {1:[(3, 1), (2, 1)], 2:[(5, 1), (4, 1)], 3:[(5, 1), (4, 1)], 4:[(5, 1)], 5:[(1, 1)]} self.assertEqual(dfs(graph, 1, 5), [1, 2, 4, 5])
def test_dfs(self): """ Teste de busca dfs simples. O grafo é direcionado e tem a aparencia de um diamante: +---- 1 | / \ | 2--4--3 | \ | / +---- 5 """ graph = {1:[(2, 1), (3, 2)], 2:[(4, 3), (5, 4)], 3:[(5, 5)], 4: [(5, 6)], 5:[(1, 1)]} self.assertEqual(dfs(graph, 1, 5), [1, 2, 4, 5])