aboutsummaryrefslogtreecommitdiff
path: root/go/game/deck_test.go
blob: 049f3440607601b1feec4a6c1aed9e3dd271651c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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")
	}
}