-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathunitTest.py
86 lines (69 loc) · 3.38 KB
/
unitTest.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# create by AndyShen on 27.7.2018
# -*- coding: UTF-8 -*-
import unittest
from drawMaze import *
class DrawMazeTest(unittest.TestCase):
def test_invalid_number_format(self):
road_grid_str = '3 3'
render_grid_str = '0,b 0,;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 0)
road_grid_str = '3 #'
render_grid_str = '0,1 0,2;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 0)
def test_number_out_of_range(self):
road_grid_str = '3 -3'
render_grid_str = '0,1 0,2;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 1)
road_grid_str = '3 0.1'
render_grid_str = '0,1 0,2;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 1)
road_grid_str = '3 0'
render_grid_str = '0,1 0,2;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 1)
def test_incorrect_command_format(self):
road_grid_str = '3 3 6'
render_grid_str = '0,1 0,2;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 2)
road_grid_str = '3 3'
render_grid_str = '0,1 0,;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 2)
road_grid_str = '3 3'
render_grid_str = '0,1 ;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 2)
road_grid_str = '3 3'
render_grid_str = '0,1 0;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 2)
road_grid_str = '3 3'
render_grid_str = '0,1;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 2)
def test_maze_format_error(self):
road_grid_str = '3 3'
render_grid_str = '0,1 0,2;0,0 2,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
flag = check_input_correctness(road_grid_str, render_grid_str)
self.assertEqual(flag, 3)
def test_maze(self):
road_grid_str = '3 3'
render_grid_str = '0,1 0,2;0,0 1,0;0,1 1,1;0,2 1,2;1,0 1,1;1,1 1,2;1,1 2,1;1,2 2,2;2,0 2,1'
maze = Maze(road_grid_str, render_grid_str)
maze.create_maze()
maze_text = maze.render_maze()
self.assertEqual(maze_text, '''[w] [w] [w] [w] [w] [w] [w]
[w] [r] [w] [r] [r] [r] [w]
[w] [r] [w] [r] [w] [r] [w]
[w] [r] [r] [r] [r] [r] [w]
[w] [w] [w] [r] [w] [r] [w]
[w] [r] [r] [r] [w] [r] [w]
[w] [w] [w] [w] [w] [w] [w]
''')
if __name__ == '__main__':
unittest.main()