From a3ca136cd776ff0089dc33e401d1fc474dc17138 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Mon, 8 Sep 2025 15:38:07 +0200 Subject: support explicitly winning and implement Approach Supremacy! --- go/game/winCondition_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'go/game/winCondition_test.go') diff --git a/go/game/winCondition_test.go b/go/game/winCondition_test.go index 0f380e92..8ed06dff 100644 --- a/go/game/winCondition_test.go +++ b/go/game/winCondition_test.go @@ -80,3 +80,42 @@ func TestKrakenGame(t *testing.T) { t.Fatal("p is not the winner", w) } } + +func TestExplicitWinning(t *testing.T) { + s, _, p, o := newMockState() + s.addNewUnit(NewCard("misc/king"), Position{0, 0}, p) + s.addNewUnit(NewCard("misc/king"), Position{1, 1}, o) + + p.win() + 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) + } + + s, _, p, o = newMockState() + o.Name = KRAKEN_NAME + s.addNewUnit(NewCard("kraken/the_kraken"), Position{1, 1}, o) + p.win() + + s._map.WinCondition = BossGame(KRAKEN_NAME) + 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) + } +} -- cgit v1.2.3