diff options
Diffstat (limited to 'go/game/winCondition_test.go')
| -rw-r--r-- | go/game/winCondition_test.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/go/game/winCondition_test.go b/go/game/winCondition_test.go index c50e9692..3c1551a6 100644 --- a/go/game/winCondition_test.go +++ b/go/game/winCondition_test.go @@ -38,3 +38,31 @@ func TestKingGame(t *testing.T) { t.Fatal("p or o is not a winner", w) } } + +func TestConcession(t *testing.T) { + s := NewLocalState() + s.SetMap(newEmpty2x2Map()) + p := s.AddNewPlayer("p", NewDeck()) + s.addNewUnit(NewCard("misc/king"), Position{0, 0}, p) + o := s.AddNewPlayer("o", NewDeck()) + s.addNewUnit(NewCard("misc/king"), Position{1, 1}, o) + + o.concede() + s._map.WinCondition = KingGame + w := s._map.WinCondition.check(s) + if len(w) != 1 { + t.Fatal("winner not declared", w) + } + if w[0] != p { + t.Fatal("p is not the winner", w) + } + + s._map.WinCondition = DeathMatch + w = s._map.WinCondition.check(s) + if len(w) != 1 { + t.Fatal("winner not declared", w) + } + if w[0] != p { + t.Fatal("p is not the winner", w) + } +} |
