diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-09-05 17:21:39 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-09-05 17:21:39 +0200 |
| commit | 18dfde76df708631089d39f63394f3a8c1dc9df7 (patch) | |
| tree | cdc4f061a09ecab7aca7567626a13373e28dd667 /go/game/cardImplementations_test.go | |
| parent | c9dc8b00a9ed5067ee9f311c14b199b2f9bd93db (diff) | |
| download | muhqs-game-18dfde76df708631089d39f63394f3a8c1dc9df7.tar.gz muhqs-game-18dfde76df708631089d39f63394f3a8c1dc9df7.zip | |
implement discard event and reformer
Diffstat (limited to 'go/game/cardImplementations_test.go')
| -rw-r--r-- | go/game/cardImplementations_test.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/go/game/cardImplementations_test.go b/go/game/cardImplementations_test.go index b3ac5811..51aab02f 100644 --- a/go/game/cardImplementations_test.go +++ b/go/game/cardImplementations_test.go @@ -346,3 +346,51 @@ func TestPowerToThePeople(t *testing.T) { t.Fatal("Not gained 4 resource") } } + +func TestReformer(t *testing.T) { + s, _, player, _ := newMockState() + + r := s.addNewUnit(NewCard("exp1/reformer"), Position{0, 0}, player) + + c1 := NewCard("base/sword") + player.Hand.AddCard(c1) + + ra := r.FullActions[0] + s.ResolveAction(ra) + s.handleTriggers() + + if len(s.triggers) != 1 { + t.Fatal("No active reformer trigger") + } + + player.discardCard(c1) + if len(s.events) != 1 { + t.Fatal("No discard event fired") + } + + s.handleTriggers() + if s.stack.IsEmpty() { + t.Fatal("reformer draw not triggered") + } + + if len(s.triggers) != 1 { + t.Fatal("Reformer trigger removed") + } + + s.stack.pop() + if player.Hand.IsEmpty() { + t.Fatal("no card drawn") + } + + player.DiscardPile.MoveCard(c1, player.Hand) + da := NewFreeDiscardAction(player) + da.Target().AddSelection(player.Hand.Cards()[0]) + da.Target().AddSelection(player.Hand.Cards()[1]) + s.declareAction(da) + s.stack.pop() + s.handleTriggers() + s.stack.pop() + if player.Hand.Size() != 2 { + t.Fatal("not two cards drawn") + } +} |
