Spaces:
Running
Running
| int main() { | |
| { | |
| Chessboard chess; | |
| ASSERT(chess.process("pawn to d4") == "d2-d4"); | |
| ASSERT(chess.process("e5") == "e7-e5"); | |
| ASSERT(chess.process("c1 h6") == "c1-h6"); | |
| ASSERT(chess.process("queen h4") == "d8-h4"); | |
| ASSERT(chess.process("bishop to g5") == "h6-g5"); | |
| ASSERT(chess.process("bishop to b4") == "f8-b4"); | |
| ASSERT(chess.process("c4") == ""); | |
| ASSERT(chess.process("knight c3") == "b1-c3"); | |
| ASSERT(chess.process("knight c6") == "b8-c6"); | |
| ASSERT(chess.process("f3") == ""); | |
| } | |
| { | |
| Chessboard chess; | |
| ASSERT(chess.process("d4") == "d2-d4"); | |
| ASSERT(chess.process("e5") == "e7-e5"); | |
| ASSERT(chess.process("e4") == "e2-e4"); | |
| ASSERT(chess.process("queen h4") == "d8-h4"); | |
| ASSERT(chess.process("queen h5") == "d1-h5"); | |
| ASSERT(chess.process("f5") == ""); | |
| ASSERT(chess.process("g6") == "g7-g6"); | |
| ASSERT(chess.process("knight e2") == "g1-e2"); | |
| ASSERT(chess.process("f5") == "f7-f5"); | |
| ASSERT(chess.process("knight g3") == "e2-g3"); | |
| ASSERT(chess.process("g5") == ""); | |
| ASSERT(chess.process("king e7") == "e8-e7"); | |
| ASSERT(chess.process("f4") == "f2-f4"); | |
| ASSERT(chess.process("g5") == "g6-g5"); | |
| } | |
| { | |
| Chessboard chess; | |
| ASSERT(chess.process("e4") == "e2-e4"); | |
| ASSERT(chess.process("c5") == "c7-c5"); | |
| ASSERT(chess.process("e5") == "e4-e5"); | |
| ASSERT(chess.process("c4") == "c5-c4"); | |
| ASSERT(chess.process("e6") == "e5-e6"); | |
| ASSERT(chess.process("c3") == "c4-c3"); | |
| ASSERT(chess.process("e7") == ""); | |
| ASSERT(chess.process("f7") == "e6-f7"); | |
| ASSERT(chess.process("d2") == ""); | |
| ASSERT(chess.process("king to f7") == "e8-f7"); | |
| ASSERT(chess.process("f4") == "f2-f4"); | |
| ASSERT(chess.process("d2") == "c3-d2"); | |
| ASSERT(chess.process("f5") == ""); | |
| ASSERT(chess.process("king to e2") == "e1-e2"); | |
| ASSERT(chess.process("king to g6") == "f7-g6"); | |
| ASSERT(chess.process("f5") == "f4-f5"); | |
| ASSERT(chess.process("e6") == ""); | |
| ASSERT(chess.process("king to h5") == "g6-h5"); | |
| ASSERT(chess.process("g4") == "g2-g4"); | |
| ASSERT(chess.process("king to g5") == "h5-g5"); | |
| ASSERT(chess.process("h4") == "h2-h4"); | |
| ASSERT(chess.process("king to h5") == ""); | |
| ASSERT(chess.process("king to g6") == ""); | |
| ASSERT(chess.process("king to h6") == "g5-h6"); | |
| ASSERT(chess.process("bishop to d2") == "c1-d2"); | |
| ASSERT(chess.process("king to g5") == ""); | |
| ASSERT(chess.process("g5") == "g7-g5"); | |
| } | |
| { | |
| Chessboard chess; | |
| ASSERT(chess.process("f4") == "f2-f4"); | |
| ASSERT(chess.process("e5") == "e7-e5"); | |
| ASSERT(chess.process("g4") == "g2-g4"); | |
| ASSERT(chess.process("queen to h4") == "d8-h4#"); | |
| ASSERT(chess.process("knight f3") == ""); | |
| ASSERT(chess.grammar().empty()); | |
| } | |
| { | |
| Chessboard chess; | |
| ASSERT(chess.process("f4") == "f2-f4"); | |
| ASSERT(chess.process("e5") == "e7-e5"); | |
| ASSERT(chess.process("g4") == "g2-g4"); | |
| ASSERT(chess.process("d5") == "d7-d5"); | |
| ASSERT(chess.process("g1 f3") == "g1-f3"); | |
| ASSERT(chess.process("queen to h4") == "d8-h4"); | |
| ASSERT(!chess.grammar().empty()); | |
| } | |
| { | |
| Chessboard chess; | |
| ASSERT(chess.process("knight c3") == "b1-c3"); | |
| ASSERT(chess.process("knight c6") == "b8-c6"); | |
| ASSERT(chess.process("knight b5") == "c3-b5"); | |
| ASSERT(chess.process("knight f6") == "g8-f6"); | |
| ASSERT(chess.process("knight d6") == "b5-d6"); | |
| ASSERT(chess.process("knight d4") == ""); | |
| ASSERT(chess.process("d6") == "c7-d6"); | |
| ASSERT(chess.process("e4") == "e2-e4"); | |
| ASSERT(chess.process("knight d4") == "c6-d4"); | |
| ASSERT(chess.process("d3") == "d2-d3"); | |
| ASSERT(chess.process("knight e4") == "f6-e4"); | |
| ASSERT(chess.process("king to e2") == ""); | |
| ASSERT(chess.process("king to d2") == ""); | |
| } | |
| } |