package pokercore import ( "fmt" "testing" "github.com/stretchr/testify/assert" ) type ShuffleTestResults []struct { SeedVal int64 Expected string } func TestPokerDeck(t *testing.T) { d := NewDeck() fmt.Printf("newdeck: %+v\n", d) d.ShuffleDeterministically(437) fmt.Printf("deterministically shuffled deck: %+v\n", d) cards := d.Deal(7) expected := "6♥,A♦,7♥,9♣,6♠,9♥,8♣" fmt.Printf("deterministically shuffled deck after dealing: %+v\n", d) fmt.Printf("cards: %+v\n", cards) assert.Equal(t, expected, cards.String()) x := d.Count() assert.Equal(t, 45, x) d.ShuffleDeterministically(123456789) cards = d.Deal(10) expected = "A♣,7♠,8♠,4♠,7♦,K♠,2♣,J♦,A♠,2♦" assert.Equal(t, expected, cards.String()) x = d.Count() assert.Equal(t, 35, x) } func TestDealing(t *testing.T) { d := NewDeckFromCards(Cards{ Card{Rank: ACE, Suit: HEART}, Card{Rank: DEUCE, Suit: HEART}, Card{Rank: THREE, Suit: HEART}, Card{Rank: FOUR, Suit: HEART}, Card{Rank: FIVE, Suit: HEART}, }) cards := d.Deal(5) expected := "A♥,2♥,3♥,4♥,5♥" assert.Equal(t, expected, cards.String()) x := d.Count() assert.Equal(t, 0, x) }