Skip to content

Instantly share code, notes, and snippets.

@Pamplemousse
Created November 30, 2017 16:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Pamplemousse/064890b9b0784fd43653b0159007a0af to your computer and use it in GitHub Desktop.
Save Pamplemousse/064890b9b0784fd43653b0159007a0af to your computer and use it in GitHub Desktop.
setup() {
OUTPUT=$(mktemp)
}
test_first_game() {
$(echo -e "C3\nB3\nA3\nD3\nD2\nD1\nD0\nB0\nC0\nA2\nA1\nA0" | ../reversi2 -s 2 > $OUTPUT)
board=$(cat $OUTPUT | tail -n 7 | head -n 5)
expected_board="\
0 1 2 3
A O X X X
B O O X X
C X X O X
D X O O O"
assert_equals "$expected_board" "$board"
}
test_second_game() {
$(echo -e "B0\nC0\nD0\nA0\nA1\nA2\nA3\nC3\nB3\nD1\nD2\nD3\n" | ../reversi2 -s 2 > $OUTPUT)
board=$(cat $OUTPUT | tail -n 7 | head -n 5)
expected_board="\
0 1 2 3
A O O O X
B X O X X
C X X O O
D X X X O"
assert_equals "$expected_board" "$board"
}
test_third_game() {
$(echo -e "D4\nE4\nF4\nF5\nE3\nF3\nE5\nC1\nF2\nB4\nB1\nF1\nB2\nA3\nE2\nE1\nB3\nB0\nF0\nC5\nA4\nE0\nD5\nC4\nD1\nD0\nC0\nA5\nB5\nA2\nA1\nA0\n" | ../reversi2 -s 3 > $OUTPUT)
board=$(cat $OUTPUT | tail -n 9 | head -n 7)
expected_board="\
0 1 2 3 4 5
A O O O O O O
B O O X O X X
C X X O X O X
D X O O O X X
E X O O O O X
F X O O O O O"
assert_equals "$expected_board" "$board"
}
test_fourth_game() {
$(echo -e "D4\nC4\nB2\nC1\nB4\nE2\nE1\nE0\nF0\nC5\nB5\nE3\nE5\nA3\nB3\nA4\nD0\nA5\nE4\nF3\nC0\nD5\nF5\nD1\nF4\nB1\nB0\nF2\nF1\nA0\nA1\nA2\n" | ../reversi2 -s 3 > $OUTPUT)
board=$(cat $OUTPUT | tail -n 9 | head -n 7)
expected_board="\
0 1 2 3 4 5
A X X X O O O
B X X X O O O
C X O X X O O
D X O X X O O
E X X X O X X
F X X X X X X"
assert_equals "$expected_board" "$board"
}
test_fifth_game() {
$(echo -e "D2\nE2\nF4\nE5\nF2\nC4\nB5\nC2\nC5\nB4\nC3\nG3\nE6\nB6\nC6\nE1\nD5\nF1\nC1\nF3\nG1\nD7\nA3\nD6\nE7\nD1\nG0\nF0\nF5\nF6\nF7\nA5\nE0\nD0\nG4\nG7\nA6\nC7\nH3\nG5\nH6\nH1\nH2\nH4\nC0\nA7\nG6\nB0\nB3\nB2\nB1\nA1\nA4\nH5\nB7\nH7\nG2\nA2\nA0\nH0\n" | ../reversi2 -s 4 > $OUTPUT)
board=$(cat $OUTPUT | tail -n 11 | head -n 9)
expected_board="\
0 1 2 3 4 5 6 7
A X O O O O O O O
B X X O O X X X X
C X O X O O O X O
D X O O X O O O O
E X O X O X O O O
F X X O X O X X O
G X O X O O O O O
H O O O O O O O O"
assert_equals "$expected_board" "$board"
}
test_sixth_game() {
$(echo -e "D2\nE2\nF1\nC3\nC4\nC2\nC1\nB0\nC0\nB1\nA0\nD5\nE6\nB2\nE5\nF4\nA1\nA2\nA3\nB3\nB4\nA4\nA5\nC6\nF5\nD1\nB5\nC5\nB7\nF7\nD0\nG0\nF3\nA6\nA7\nC7\nB6\nF2\nE1\nG2\nG3\nE0\nE7\nD7\nG1\nG6\nF6\nD6\nF0\nH0\nG7\nH1\nH2\nH3\nH4\nH5\nG4\nG5\nH6\nH7\n" | ../reversi2 -s 4 > $OUTPUT)
board=$(cat $OUTPUT | tail -n 11 | head -n 9)
expected_board="\
0 1 2 3 4 5 6 7
A X X X X X X X X
B X X X X X X X X
C X X O X O X O X
D X X X X X O O X
E X X X X O O O X
F X X X X X O X X
G O O O O O X O X
H O O O O O O O O"
assert_equals "$expected_board" "$board"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment