diff options
Diffstat (limited to 'internal/casino/minbet_regression_test.go')
| -rw-r--r-- | internal/casino/minbet_regression_test.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/internal/casino/minbet_regression_test.go b/internal/casino/minbet_regression_test.go new file mode 100644 index 0000000..578c251 --- /dev/null +++ b/internal/casino/minbet_regression_test.go @@ -0,0 +1,25 @@ +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) + } +} |
