package casino import ( "math/rand" "testing" ) // Regression: when the shooter leaves and others remain, the next shooter must // start a fresh come-out rather than inheriting the previous point and // made/seen bonus progress (which blocked line and bonus bets). func TestCrapsShooterChangeResetsHand(t *testing.T) { tb := newCrapsTable(1, TableConfig{ID: "craps", Game: GameCraps, BettingTicks: 2}, rand.New(rand.NewSource(7))) tb.join("alice") tb.join("bob") tb.point = 6 tb.rolled = true tb.made = map[int]bool{4: true} tb.seen = map[int]bool{4: true} tb.remove("alice") if tb.point != 0 || tb.rolled || len(tb.made) != 0 || len(tb.seen) != 0 { t.Fatalf("new shooter inherited hand: point=%d rolled=%v made=%v seen=%v", tb.point, tb.rolled, tb.made, tb.seen) } }