game_sync/gamerule/redvsblack/poker_test.go

56 lines
1.1 KiB
Go

package redvsblack
import (
"testing"
)
func TestPoker(t *testing.T) {
p := NewPoker()
dup := make(map[Card]bool)
for i := 0; i < POKER_CART_CNT; i++ {
card := p.Next()
if _, exist := dup[card]; exist {
t.Fatal("found dup card", card)
}
dup[card] = true
if card == -1 {
t.Fatal("not expect -1")
} else {
t.Log(card)
}
}
}
//70% failed to try appoint card
func TestTryCard(t *testing.T) {
p := NewPoker()
failedCount := 0
for i := 0; i < 10000; i++ {
bCard, rCard := p.TryCard(0, 1)
if p.Count() > 16 {
bKind := CardsKindFigureUpSington.FigureUpByCard(bCard)
rKind := CardsKindFigureUpSington.FigureUpByCard(rCard)
if CompareCards(bKind, rKind) != 1 {
t.Log(bCard, rCard)
t.Log(bKind, rKind)
t.Fatal()
}
} else {
failedCount++
}
bCard, rCard = p.TryCard(1, 1)
if p.Count() > 16 {
bKind := CardsKindFigureUpSington.FigureUpByCard(bCard)
rKind := CardsKindFigureUpSington.FigureUpByCard(rCard)
if CompareCards(bKind, rKind) != -1 {
t.Log(bCard, rCard)
t.Log(bKind, rKind)
t.Fatal()
}
} else {
//failedCount++
}
}
//fmt.Println(failedCount)
}