diff options
Diffstat (limited to 'docs/TESTING.md')
| -rw-r--r-- | docs/TESTING.md | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/docs/TESTING.md b/docs/TESTING.md index fe302a9..7ec5b60 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md | |||
| @@ -16,7 +16,7 @@ shared global database. Each test owns its state. | |||
| 16 | | `tests/blackjack.rs` | Card totals, naturals, hit/stand/double, dealer bust, S17, state parsing. | | 16 | | `tests/blackjack.rs` | Card totals, naturals, hit/stand/double, dealer bust, S17, state parsing. | |
| 17 | | `tests/crash.rs` | Multiplier curve, payout floor, crash-point distribution, house edge, cap. | | 17 | | `tests/crash.rs` | Multiplier curve, payout floor, crash-point distribution, house edge, cap. | |
| 18 | | `tests/protocol.rs` | Newline buffering and timeout/error classification. | | 18 | | `tests/protocol.rs` | Newline buffering and timeout/error classification. | |
| 19 | | `tests/roulette.rs` | European wheel, split-bet payouts, zero handling, result parser. | | 19 | | `tests/roulette.rs` | Wheel, every bet type and payout, zero handling, cursor lattice, result parser. | |
| 20 | | `tests/server_core.rs` | Handler, bcrypt migration, SQL injection, transaction rollback, `plays` audit, sessions. | | 20 | | `tests/server_core.rs` | Handler, bcrypt migration, SQL injection, transaction rollback, `plays` audit, sessions. | |
| 21 | | `tests/server_setup.rs` | `--init` identity generation, PKCS#12 loadability, overwrite refusal. | | 21 | | `tests/server_setup.rs` | `--init` identity generation, PKCS#12 loadability, overwrite refusal. | |
| 22 | | `tests/slots.rs` | Server slots payout rules and overflow handling. | | 22 | | `tests/slots.rs` | Server slots payout rules and overflow handling. | |
| @@ -71,18 +71,31 @@ Use an 80-column terminal because several output lines are width-sensitive. | |||
| 71 | 71 | ||
| 72 | ## Manual roulette checklist | 72 | ## Manual roulette checklist |
| 73 | 73 | ||
| 74 | 1. `play roulette` shows the balance, chip size, empty bets, and controls. | 74 | 1. `play roulette` draws the full felt: 0, the 3x12 numbers, dozens, columns, |
| 75 | 2. `R`/`B`/`E`/`O` add one chip; digits + Enter add a number; `C` clears; | 75 | and the six outside cells, with the cursor on number 1. |
| 76 | `+`/`=`/`-` change the chip size. | 76 | 2. Arrows move the cursor. On the numbers the highlighted cells show the bet: |
| 77 | 3. Space scrolls the wheel under a fixed ball marker and ends on the winning | 77 | one number (straight), two (split), four (corner). Down leaves the felt into |
| 78 | the dozens, then columns, then outside; Up walks back. | ||
| 79 | 3. ENTER places the chip where the cursor is; `C` clears; `+`/`=`/`-` change the | ||
| 80 | chip size. The bets line lists every chip and the total. | ||
| 81 | 4. Space scrolls the wheel under a fixed ball marker and ends on the winning | ||
| 78 | number. | 82 | number. |
| 79 | 4. Check a split result: | 83 | 5. Check the payouts: |
| 80 | - `17 black odd`: black+odd pay, red+even lose, straight 17 pays 36x. | 84 | - a straight pays 36x, a split 18x, a corner 9x; |
| 81 | - `0`: all outside bets lose; a straight 0 pays 36x. | 85 | - a dozen or column pays 3x; |
| 82 | 5. Numbers are color-coded: red numbers red, 0 green, black default. Check the | 86 | - an outside bet pays 2x; |
| 83 | bets line, the rolling strip, and the winning number. | 87 | - `0` loses every outside bet, both dozens and every column, and pays a |
| 84 | 6. The result board shows the winning number/color/parity, the payout, and the | 88 | straight 0. |
| 85 | new balance. The next spin reuses the placed bets. | 89 | 6. The result line names the number, color and parity, the total returned and |
| 90 | the profit. The next spin reuses the placed chips. | ||
| 91 | |||
| 92 | ## Manual terminal size check | ||
| 93 | |||
| 94 | 1. Start the client in a terminal smaller than 80x24: it must print | ||
| 95 | `zagan.bet needs a terminal of at least 80x24 cells` and exit without | ||
| 96 | switching to the alternate screen or raw mode. | ||
| 97 | 2. At 80x24 every game board (slots 10 lines, roulette 12, blackjack 6, crash 6) | ||
| 98 | must fit without wrapping. | ||
| 86 | 99 | ||
| 87 | ## Manual blackjack checklist | 100 | ## Manual blackjack checklist |
| 88 | 101 | ||
