aboutsummaryrefslogtreecommitdiff
path: root/internal/game/casino_edge_list_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/casino_edge_list_test.go')
-rw-r--r--internal/game/casino_edge_list_test.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/internal/game/casino_edge_list_test.go b/internal/game/casino_edge_list_test.go
index ff0b965..902d178 100644
--- a/internal/game/casino_edge_list_test.go
+++ b/internal/game/casino_edge_list_test.go
@@ -34,6 +34,26 @@ func TestEdgeListAllTableGames(t *testing.T) {
}
}
+// TestCrapsListEveryBetHasRTP: once a reference item is carried, every
+// craps wager the list can name must resolve to a real percentage. An
+// unknown target would render the dash, which is the bug this guards.
+func TestCrapsListEveryBetHasRTP(t *testing.T) {
+ for _, variant := range []string{"bank", "crapless", "new_york"} {
+ t.Run(variant, func(t *testing.T) {
+ room := "name: CR\ncasino_tables:\n - id: cr\n game: craps\n craps:\n variant: " + variant + "\n"
+ g, sess, conn := houseEdgeGame(t, room)
+ writeHouseEdgeManual(t, g, sess, 2)
+ g.executePlay(sess, []string{"craps"}, "play craps")
+ g.executeBet(sess, []string{"10", "pass"}, "bet 10 pass")
+ conn.data = nil
+ g.executeList(sess, nil, "list")
+ if text := stripANSI(string(conn.data)); strings.Contains(text, "—") {
+ t.Fatalf("%s come-out list left a bet without RTP:\n%s", variant, text)
+ }
+ })
+ }
+}
+
func TestEdgeListBlackjackActionsOmitRTP(t *testing.T) {
g, sess, conn := houseEdgeGame(t, "name: BJ\ncasino_tables:\n - id: bj\n game: blackjack\n")
writeHouseEdgeManual(t, g, sess, 2)