diff options
Diffstat (limited to 'go/game/deck_test.go')
| -rw-r--r-- | go/game/deck_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/go/game/deck_test.go b/go/game/deck_test.go new file mode 100644 index 00000000..049f3440 --- /dev/null +++ b/go/game/deck_test.go @@ -0,0 +1,36 @@ +package game + +import ( + "math/rand" + "testing" +) + +func TestDeckDraw(t *testing.T) { + d := NewDeckFromDeckList("1 base/archer") + c := d.DrawOne() + if c.Name != "Archer" { + t.Fatal("Drawn card is not archer") + } + + c = d.DrawOne() + if c != nil { + t.Fatal("Drawed card from empty deck") + } +} + +func TestDeckShuffle(*testing.T) { + d := NewDeckFromCardPaths([]string{"base/archer", "magic/ritual!"}) + d.Shuffle(rand.New(rand.NewSource(1))) +} + +func TestDeckDrawX(t *testing.T) { + poc := NewPileOfCards() + a := NewCard("base/archer") + r := NewCard("magic/ritual!") + poc.AddCards([]*Card{a, r}) + d := NewDeckFrom(poc) + c := d.Draw(2) + if c[0] != a || c[1] != r { + t.Fatal("unexpected cards drawn") + } +} |
