/
TestBoard.vdmpp
108 lines (86 loc) · 2.59 KB
/
TestBoard.vdmpp
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
class TestBoard
operations
protected assertEqual: ? * ? ==> ()
assertEqual(expected, actual) ==
if expected <> actual then (
IO`print("Actual value (");
IO`print(actual);
IO`print(") different from expected (");
IO`print(expected);
IO`println(")\n")
)
post expected = actual;
public TestAll : () ==>()
TestAll() ==
(
TestNewBoard();
TestMove();
TestFill();
TestPiecesInTheMid();
);
public TestPiecesInTheMid : () ==> ()
TestPiecesInTheMid()==
(
dcl board : Board := new Board();
dcl cpW : Board`TypeOfPiece := <White>;
dcl cpBS : Board`TypeOfPiece := <BlankSpace>;
dcl cpB : Board`TypeOfPiece := <Black>;
dcl aux : bool ;
aux := board.movePiece([1,3], [3,3], cpW);
assertEqual(board.pieceInTheMiddleV([3,1],[3,4]),true);
--assertEquals(pieceInTheMiddleV(),false);
--board.movePiece([8,7], [7,7], cpB);
);
public TestFill : () ==>()
TestFill()==
(
dcl board : Board := new Board();
dcl cpW : Board`TypeOfPiece := <White>;
dcl cpBS : Board`TypeOfPiece := <BlankSpace>;
dcl cpB : Board`TypeOfPiece := <Black>;
board.fillFromTo([3,3],[3,5],cpB);
assertEqual(board.getPiece([3,4]),cpB);
);
public TestNewBoard : () ==>()
TestNewBoard() ==
(
dcl board : Board := new Board();
dcl cpW : Board`TypeOfPiece := <White>;
dcl cpBS : Board`TypeOfPiece := <BlankSpace>;
dcl cpB : Board`TypeOfPiece := <Black>;
assertEqual(board.getPiece([1,1]),cpW);
assertEqual(board.getPiece([1,7]),cpW);
assertEqual(board.getPiece([8,1]),cpW);
assertEqual(board.getPiece([1,8]),cpB);
assertEqual(board.getPiece([8,8]),cpB);
assertEqual(board.getPiece([8,2]),cpB);
assertEqual(board.getPiece([2,2]),cpBS);
assertEqual(board.getPiece([4,4]),cpBS);
assertEqual(board.getPiece([6,6]),cpBS);
);
public TestMove : () ==> ()
TestMove() ==
(
dcl board : Board := new Board();
dcl cpW : Board`TypeOfPiece := <White>;
dcl cpBS : Board`TypeOfPiece := <BlankSpace>;
dcl cpB : Board`TypeOfPiece := <Black>;
dcl aux : bool ;
--Move Right
aux := board.movePiece([1,2], [2,2], cpW);
assertEqual(board.getPiece([2,2]),cpW);
assertEqual(board.getPiece([1,2]),cpBS);
--Move Left
aux := board.movePiece([8,7], [7,7], cpB);
assertEqual(board.getPiece([7,7]),cpB);
assertEqual(board.getPiece([8,7]),cpBS);
--Move Down
aux := board.movePiece([5,1], [5,2], cpW);
assertEqual(board.getPiece([5,2]),cpW);
assertEqual(board.getPiece([5,1]),cpBS);
--Move Up
aux := board.movePiece([3,8], [3,7], cpB);
assertEqual(board.getPiece([3,7]),cpB);
assertEqual(board.getPiece([3,8]),cpBS);
);
end TestBoard