aboutsummaryrefslogtreecommitdiff
path: root/internal/casino/roulette_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/casino/roulette_test.go')
-rw-r--r--internal/casino/roulette_test.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/internal/casino/roulette_test.go b/internal/casino/roulette_test.go
index 3ef3814..a20b17c 100644
--- a/internal/casino/roulette_test.go
+++ b/internal/casino/roulette_test.go
@@ -32,7 +32,7 @@ func TestRouletteRulesAndWheels(t *testing.T) {
if seen["00"] != double {
t.Fatal("wrong double zero")
}
- for _, spot := range strings.Fields("red black even odd low high dozen1 dozen2 dozen3 column1 column2 column3") {
+ for _, spot := range strings.Fields("red black even odd low high dozen1 dozen2 dozen3 column1 column2 column3 1to12 13to24 25to36 row1 row2 row3") {
pockets, mult := rouletteBet(spot, double)
if len(pockets)*mult != 36 {
t.Fatalf("%s coverage/payout %d/%d", spot, len(pockets), mult)
@@ -54,6 +54,18 @@ func TestRouletteRulesAndWheels(t *testing.T) {
}
}
}
+func TestRouletteRowBetMapping(t *testing.T) {
+ // row1 is the top numbered line (3,6,...36) and row3 the bottom (1,4,...34).
+ row1, mult := rouletteBet("row1", false)
+ if mult != 3 || len(row1) != 12 || row1[0] != "3" || row1[len(row1)-1] != "36" {
+ t.Fatalf("row1 = %v (x%d), want 3..36", row1, mult)
+ }
+ row3, mult := rouletteBet("row3", false)
+ if mult != 3 || len(row3) != 12 || row3[0] != "1" || row3[len(row3)-1] != "34" {
+ t.Fatalf("row3 = %v (x%d), want 1..34", row3, mult)
+ }
+}
+
func rouletteFixture() *rouletteTable {
return newRouletteTable(1, TableConfig{ID: "r", Game: GameRoulette, BettingTicks: 2, Roulette: RouletteConfig{SpinTicks: 2}}, rand.New(rand.NewSource(7)))
}