Files
game-cards/tests/test_deck.gd

36 lines
936 B
GDScript3
Raw Normal View History

extends GutTest
func test_deck_has_108_cards():
var deck := Deck.create()
assert_eq(deck.remaining(), 108)
func test_deal_reduces_count():
var deck := Deck.create()
var cards := deck.deal(27)
assert_eq(cards.size(), 27)
assert_eq(deck.remaining(), 81)
func test_shuffle_deterministic():
var seed := 12345
var deck1 := Deck.create(seed)
var deck2 := Deck.create(seed)
var hand1 := deck1.deal(108)
var hand2 := deck2.deal(108)
for i in range(108):
assert_eq(hand1[i].card_id, hand2[i].card_id)
func test_deal_empty_deck():
var deck := Deck.create()
deck.deal(108)
var extra := deck.deal(1)
assert_eq(extra.size(), 0)
func test_deck_card_ids_unique():
var deck := Deck.create()
var all_cards := deck.deal(108)
var ids := {}
for c in all_cards:
assert_false(ids.has(c.card_id))
ids[c.card_id] = true
assert_eq(ids.size(), 108)