diff options
Diffstat (limited to 'go/game/cardImplementations_test.go')
| -rw-r--r-- | go/game/cardImplementations_test.go | 29 |
1 files changed, 29 insertions, 0 deletions
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") + } +} |
