From 045a2ebbc5cac9ba5bdb707c78fb613454575064 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Thu, 4 Sep 2025 19:53:52 +0200 Subject: implement recycle! --- go/game/cardImplementations_test.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'go/game/cardImplementations_test.go') diff --git a/go/game/cardImplementations_test.go b/go/game/cardImplementations_test.go index 7f0c2878..f75e4d80 100644 --- a/go/game/cardImplementations_test.go +++ b/go/game/cardImplementations_test.go @@ -296,3 +296,32 @@ func TestPatrician(t *testing.T) { t.Fatal("patrician has no armor") } } + +func TestRecycle(t *testing.T) { + s, _, player, _ := newMockState() + player.Resource = 10 + rts := NewPileOfCards() + rts.FromString("[magic/ritual!, magic/ritual!]") + player.DiscardPile.AddPoc(rts) + + r := NewCard("exp1/recycle!") + player.Hand.AddCard(r) + a := NewPlayAction(player, r) + a.Target().AddSelection(rts.Cards()[0]) + a.Target().AddSelection(rts.Cards()[1]) + + s.declareAction(a) + s.stack.pop() + if player.Hand.Size() != 2 { + t.Fatal("Hand does not contain two cards") + } + + player.Hand.MoveInto(player.DiscardPile) + player.DiscardPile.MoveCard(r, player.DiscardPile) + a.Target().AddSelection(rts.Cards()[0]) + s.declareAction(a) + s.stack.pop() + if player.Hand.Size() != 1 { + t.Fatal("Hand does not contain one cards") + } +} -- cgit v1.2.3