github.com/gorgonia/agogo@v0.1.1/game/mnk/mnk_test.go (about) 1 package mnk 2 3 import ( 4 "testing" 5 6 "github.com/gorgonia/agogo/game" 7 ) 8 9 func TestTicTacToe(t *testing.T) { 10 var X = game.Colour(Cross) 11 var O = game.Colour(Nought) 12 TTT := TicTacToe() 13 TTT.board = []game.Colour{ 14 X, O, X, 15 O, X, O, 16 O, O, X, 17 } 18 if !TTT.isWinner(Cross) { 19 t.Error("expected X to be winner") 20 } 21 if ended, _ := TTT.Ended(); !ended { 22 t.Error("expected game to be ended") 23 } 24 25 TTT.board = []game.Colour{ 26 X, O, O, 27 X, O, X, 28 O, X, X, 29 } 30 if !TTT.isWinner(Nought) { 31 t.Error("expected X to be winner") 32 } 33 } 34 35 func TestGomoku(t *testing.T) { 36 var X = game.Colour(Cross) 37 var O = game.Colour(Nought) 38 var Z = game.None 39 g := New(7, 7, 5) 40 g.board = []game.Colour{ 41 Z, X, Z, Z, Z, Z, Z, 42 Z, Z, X, Z, Z, Z, Z, 43 Z, Z, Z, X, Z, Z, Z, 44 Z, Z, Z, Z, X, Z, Z, 45 Z, Z, Z, Z, Z, X, Z, 46 Z, Z, Z, Z, Z, X, Z, 47 Z, Z, Z, Z, Z, X, Z, 48 } 49 if !g.isWinner(Cross) { 50 t.Error("expected X to be winner") 51 } 52 if ended, _ := g.Ended(); !ended { 53 t.Error("expected game to be ended") 54 } 55 56 g.board = []game.Colour{ 57 Z, Z, Z, Z, Z, Z, Z, 58 Z, Z, Z, Z, Z, O, Z, 59 Z, Z, Z, Z, O, Z, Z, 60 Z, Z, Z, O, Z, Z, Z, 61 Z, Z, O, Z, Z, Z, Z, 62 Z, O, Z, Z, Z, Z, Z, 63 Z, Z, Z, Z, Z, Z, Z, 64 } 65 if !g.isWinner(Nought) { 66 t.Error("expected O to be winner") 67 } 68 if ended, _ := g.Ended(); !ended { 69 t.Error("expected game to be ended") 70 } 71 } 72 73 func TestTicTacToeEnded(t *testing.T) { 74 var X = game.Colour(Cross) 75 var O = game.Colour(Nought) 76 var Z = game.None 77 TTT := TicTacToe() 78 TTT.board = []game.Colour{ 79 O, Z, X, 80 Z, Z, X, 81 Z, O, X, 82 } 83 ended, winner := TTT.Ended() 84 if !ended { 85 t.Error("Expected game to have ended") 86 } 87 if winner != game.Player(X) { 88 t.Error("Expected winner to be X") 89 } 90 91 TTT.board = []game.Colour{ 92 O, O, O, 93 Z, Z, X, 94 X, O, X, 95 } 96 ended, winner = TTT.Ended() 97 if !ended { 98 t.Error("Expected game to have ended") 99 } 100 if winner != game.Player(O) { 101 t.Error("Expected winner to be O") 102 } 103 104 TTT.board = []game.Colour{ 105 Z, Z, X, 106 X, O, X, 107 O, O, O, 108 } 109 ended, winner = TTT.Ended() 110 if !ended { 111 t.Error("Expected game to have ended") 112 } 113 if winner != game.Player(O) { 114 t.Error("Expected winner to be O") 115 } 116 117 TTT.board = []game.Colour{ 118 O, Z, X, 119 X, O, X, 120 O, Z, O, 121 } 122 ended, winner = TTT.Ended() 123 if !ended { 124 t.Error("Expected game to have ended") 125 } 126 if winner != game.Player(O) { 127 t.Error("Expected winner to be O") 128 } 129 }