-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_menu.py
28 lines (22 loc) · 1.4 KB
/
test_menu.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
import pytest
from SRC.Main import *
import mock
import io
maze_normal = [['X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'], ['X', 'O', 'O', 'O', 'X', 'O', 'A', 'X'], ['X', 'O', 'X', 'O', 'X', 'O', 'X', 'X'], ['X', 'O', 'X', 'O', 'X', 'O', 'O', 'X'], ['X', 'O', 'X', 'O', 'X', 'X', 'O', 'X'], ['X', 'O', 'X', 'O', 'X', 'O', 'O', 'X'], ['X', 'O', 'X', 'O', 'O', 'O', 'X', 'X'], ['X', 'B', 'X', 'X', 'X', 'X', 'X', 'X']]
maze_no_start_end = [['X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'], ['X', 'O', 'O', 'O', 'X', 'O', 'X', 'X'], ['X', 'O', 'X', 'O', 'X', 'O', 'X', 'X'], ['X', 'O', 'X', 'O', 'X', 'O', 'O', 'X'], ['X', 'O', 'X', 'O', 'X', 'X', 'O', 'X'], ['X', 'O', 'X', 'O', 'X', 'O', 'O', 'X'], ['X', 'O', 'X', 'O', 'O', 'O', 'X', 'X'], ['X', 'X', 'X', 'X', 'X', 'X', 'X', 'X']]
# ==================================================================
# Test for displaying menu
def test_display_menu():
menu = display_menu()
assert menu == ("MAIN MENU\n"
"=========\n"
"[1] Read and load maze from file\n"
"[2] View maze\n"
"[3] Play maze game\n"
"[4] Configure current maze\n\n"
"[0] Exit Maze\n")
# ==================================================================
# Test for looping menu
def test_looping_menu_exit():
with mock.patch('builtins.input', return_value='0'):
assert main([]) == False