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") } }