aboutsummaryrefslogtreecommitdiff
path: root/internal/game/casino_test.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-29 14:23:52 -0400
committerhistoria <[not public]>2026-09-29 14:23:52 -0400
commit004dcd3826856870b267a55dacf84aa7742b7e3f (patch)
tree3789558833d8486153271e818e7579e86721855e /internal/game/casino_test.go
parent3db3071c444abb2133e1fcaf7e685095415c1adf (diff)
downloadthehouseoficarus-004dcd3826856870b267a55dacf84aa7742b7e3f.tar.gz
fix: detailed casino output by default, compact output overrides card size
Diffstat (limited to 'internal/game/casino_test.go')
-rw-r--r--internal/game/casino_test.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/internal/game/casino_test.go b/internal/game/casino_test.go
index b3bfb9b..3a1fc41 100644
--- a/internal/game/casino_test.go
+++ b/internal/game/casino_test.go
@@ -26,6 +26,33 @@ func (c *casinoTestConn) SetWriteDeadline(time.Time) error { return nil }
func (c *casinoTestConn) Close() error { return nil }
func (c *casinoTestConn) SetEcho(bool) error { return nil }
+func TestCasinoDisplayDefaultsToDetailedAndDoesNotOverrideCardSize(t *testing.T) {
+ snapshot := &casino.BlackjackSnapshot{
+ Dealer: []casino.CardView{{Rank: "K", Suit: "hearts"}},
+ Players: []casino.BlackjackPlayerView{{Name: "alice", Score: "10", Cards: []casino.CardView{{Rank: "10", Suit: "clubs"}}}},
+ }
+ if got := player.New("alice").OptionString("casino_display"); got != "detailed" {
+ t.Fatalf("casino_display default=%q, want detailed", got)
+ }
+ for _, display := range []string{"", "detailed", "compact"} {
+ p := player.New("alice")
+ p.Options = map[string]any{"color": "none"}
+ if display != "" {
+ p.Options["casino_display"] = display
+ }
+ sess := &net.Session{Player: p}
+ g := &Game{}
+ got := g.renderCasinoSnapshot(sess, snapshot)
+ want := renderBlackjackSnapshotFor(snapshot, g.colorMode(sess), p.OptionBool("unicode"), p.OptionInt("card_size"), p.OptionString("card_style"), nil, p.Name)
+ if got != want {
+ t.Fatalf("display=%q: card_size ignored\n got %q\nwant %q", display, got, want)
+ }
+ if !strings.Contains(got, "┌") {
+ t.Fatalf("display=%q: expected card art, got %q", display, got)
+ }
+ }
+}
+
func TestExecuteBetRejectsInvalidMachineArgs(t *testing.T) {
g := &Game{Casino: casino.NewManager(1)}
cfg := casino.MachineConfig{ID: "slots", Game: casino.GameSlots}