cards/src/server/game/master_test.go

64 lines
1.1 KiB
Go

package game
import (
"local/sandbox/blind-mans-poker/src/server/entity"
"testing"
)
func TestMasterGetCreateGetList(t *testing.T) {
gm := NewTestMaster(t)
id := "game"
if games, err := gm.ListGames(); err != nil {
t.Fatal(err)
} else if len(games) != 0 {
t.Fatal(games)
}
if _, err := gm.GetGame(id); err == nil {
t.Fatal(err)
}
if err := gm.CreateGame(id); err != nil {
t.Fatal(err)
}
if _, err := gm.GetGame(id); err != nil {
t.Fatal(err)
}
if games, err := gm.ListGames(); err != nil {
t.Fatal(err)
} else if len(games) != 1 {
t.Fatal(games)
}
}
func TestMasterUpdate(t *testing.T) {
gm := NewTestMaster(t)
id := "game"
err := gm.CreateGame(id)
if err != nil {
t.Fatal(err)
}
game, err := gm.GetGame(id)
if err != nil {
t.Fatal(err)
}
game.Players.Add(entity.Player{
ID: "hi",
})
game.Pot = 123
err = gm.ReplaceGame(id, game)
if err != nil {
t.Fatal(err)
}
game2, err := gm.GetGame(id)
if err != nil {
t.Fatal(err)
}
if game2.Equals(game) {
t.Fatalf("replace+get don't match:\nwant\t%+v\ngot\t%+v", game, game2)
}
}