-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtests.pl
85 lines (83 loc) · 2.09 KB
/
tests.pl
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
:- write('Loading tests'), nl.
test1(Winner, BridgesCrossed) :-
playerColor(Winner),
write('Running test 1: succeed with green, fail with red'), nl,
Path = [black, white, black, white, black, white, black, white],
SuccessBoardState =
[
bridges(0, 1, []),
bridges(0, 2, []),
bridges(0, 3, []),
bridges(0, 4, [4-white-0]),
bridges(0, 5, []),
bridges(0, 6, []),
bridges(1, 2, [1-black-2]),
bridges(1, 6, []),
bridges(1, 8, []),
bridges(2, 3, [2-white-3]),
bridges(2, 8, []),
bridges(3, 4, [3-black-4]),
bridges(4, 5, [4-white-5, 5-black-4]),
bridges(4, 7, []),
bridges(5, 6, [5-black-6, 6-white-5]),
bridges(5, 7, [])
]-[
rings(0, [red, green, blue, yellow]),
rings(1, []),
rings(2, [green]),
rings(3, [green]),
rings(4, [green, green]),
rings(5, [green, green]),
rings(6, [green]),
rings(7, []),
rings(8, [])
]-[
start(1, green),
start(2, blue),
start(4, yellow),
start(5, red)
]-(
lastMove(void)
),
gameIsWon(Path, SuccessBoardState, Winner, BridgesCrossed).
test2(Winner, BridgesCrossed) :-
playerColor(Winner),
write('Running test 2: fail'), nl,
Path = [black, white, black, white, black, white, black, white],
SuccessBoardState =
[
bridges(0, 1, []),
bridges(0, 2, []),
bridges(0, 3, []),
bridges(0, 4, [4-white-0]),
bridges(0, 5, []),
bridges(0, 6, []),
bridges(1, 2, [1-white-2]),
bridges(1, 6, []),
bridges(1, 8, []),
bridges(2, 3, [2-white-3]),
bridges(2, 8, []),
bridges(3, 4, [3-black-4]),
bridges(4, 5, [4-white-5, 5-black-4]),
bridges(4, 7, []),
bridges(5, 6, [5-black-6, 6-white-5]),
bridges(5, 7, [])
]-[
rings(0, [red, green, blue, yellow]),
rings(1, []),
rings(2, [green]),
rings(3, [green]),
rings(4, [green, green]),
rings(5, [green, green]),
rings(6, [green]),
rings(7, []),
rings(8, [])
]-[
start(1, green),
start(2, blue),
start(4, yellow),
start(5, red)
]-(
lastMove(void)
),
gameIsWon(Path, SuccessBoardState, Winner, BridgesCrossed).