diff options
Diffstat (limited to 'internal/game/casino_edge_list_test.go')
| -rw-r--r-- | internal/game/casino_edge_list_test.go | 20 |
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) |
