test: add GUT test files for core modules (Card, Deck, HandEvaluator, RuleEngine, GameState)
This commit is contained in:
35
tests/test_deck.gd
Normal file
35
tests/test_deck.gd
Normal file
@@ -0,0 +1,35 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user