aboutsummaryrefslogtreecommitdiff
path: root/go/game/deck_test.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-07-21 08:34:52 -0400
committerFlorian Fischer <florian.fischer@muhq.space>2025-07-22 12:54:28 -0400
commit2efe13ae51f9184de6ebd34f82e788f5b49fcdf6 (patch)
treeef89a0136adfaf7483d5a5a4d36b899909225d7f /go/game/deck_test.go
parentfeeb0d6c75ed5747c8642c9ec0fc2ad8b89fab5f (diff)
downloadmuhqs-game-2efe13ae51f9184de6ebd34f82e788f5b49fcdf6.tar.gz
muhqs-game-2efe13ae51f9184de6ebd34f82e788f5b49fcdf6.zip
add more deck and farm area effect tests
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")
+ }
+}