-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_solucao.py
37 lines (28 loc) · 1.56 KB
/
test_solucao.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import unittest
from solucao import astar_hamming, astar_manhattan, astar_manhattan, bfs, dfs
class GraphSearchMethods(unittest.TestCase):
def test_simple(self):
self.assertEqual(['direita'], dfs('1234567_8'))
self.assertEqual(['direita'], bfs('1234567_8'))
self.assertEqual(['direita'], astar_hamming('1234567_8'))
self.assertEqual(['direita'], astar_manhattan('1234567_8'))
def test_no_solution(self):
self.assertEqual(None, bfs('185423_67'))
self.assertEqual(None, dfs('185423_67'))
self.assertEqual(None, astar_hamming('185423_67'))
self.assertEqual(None, astar_manhattan('185423_67'))
def test_intermediate_solution_bfs(self):
self.assertEqual(['abaixo', 'abaixo', 'direita', 'direita'], bfs('_23156478'))
self.assertEqual(['abaixo', 'abaixo', 'direita', 'direita'], astar_hamming('_23156478'))
self.assertEqual(['abaixo', 'abaixo', 'direita', 'direita'], astar_manhattan('_23156478'))
def test_intermediate_solution_dfs(self):
self.assertEqual(['esquerda', 'esquerda', 'abaixo', 'direita', 'direita',
'acima', 'esquerda', 'esquerda', 'abaixo', 'direita', 'direita', 'acima',
'esquerda', 'esquerda', 'abaixo', 'direita', 'direita', 'acima', 'esquerda',
'esquerda', 'abaixo', 'direita', 'direita', 'acima', 'esquerda', 'esquerda',
'abaixo', 'direita', 'direita'], dfs('12345_786'))
self.assertEqual(['abaixo'], bfs('12345_786'))
self.assertEqual(['abaixo'], astar_hamming('12345_786'))
self.assertEqual(['abaixo'], astar_manhattan('12345_786'))
if __name__ == "__main__":
unittest.main()