aboutsummaryrefslogtreecommitdiff
path: root/go/game/deck_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/game/deck_test.go')
-rw-r--r--go/game/deck_test.go36
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")
+ }
+}