package casino import "testing" // TestMinBetAboveDefaultMaxRejected guards the config/validate + Normalize // interaction: an unset max_bet defaults to DefaultMaxBet, so a larger min_bet // must be rejected (and Normalize must never leave MaxBet below MinBet), or the // game would accept a table every wager is rejected from. func TestMinBetAboveDefaultMaxRejected(t *testing.T) { if err := (TableConfig{ID: "bj", Game: GameBlackjack, MinBet: DefaultMaxBet + 1}).Validate(); err == nil { t.Fatal("table accepted min_bet above the default max") } if err := (MachineConfig{ID: "slots", Game: GameSlots, MinBet: DefaultMaxBet + 1}).Validate(); err == nil { t.Fatal("machine accepted min_bet above the default max") } m := MachineConfig{ID: "slots", Game: GameSlots, MinBet: DefaultMaxBet + 5}.Normalize() if m.MaxBet < m.MinBet { t.Fatalf("normalized machine left max %d below min %d", m.MaxBet, m.MinBet) } tc := TableConfig{ID: "bj", Game: GameBlackjack, MinBet: DefaultMaxBet + 5}.Normalize() if tc.MaxBet < tc.MinBet { t.Fatalf("normalized table left max %d below min %d", tc.MaxBet, tc.MinBet) } }