From bc0de9955c375cf27d52c9934403964205afc182 Mon Sep 17 00:00:00 2001 From: salmonik Date: Thu, 29 Oct 2026 22:16:15 +0100 Subject: formatting --- tests/blackjack.rs | 7 +++- tests/client_core.rs | 63 +++++++++++++---------------------- tests/client_ui.rs | 45 +++++++++---------------- tests/crash.rs | 6 +++- tests/protocol.rs | 10 ++++-- tests/roulette.rs | 19 +++++------ tests/server_core.rs | 92 +++++++++++++++++++++++++--------------------------- tests/slots.rs | 7 ++-- tests/tofu.rs | 10 +++--- 9 files changed, 120 insertions(+), 139 deletions(-) (limited to 'tests') diff --git a/tests/blackjack.rs b/tests/blackjack.rs index f90ca8d..36ed7cf 100644 --- a/tests/blackjack.rs +++ b/tests/blackjack.rs @@ -16,7 +16,12 @@ fn card_values_and_soft_totals_are_correct() { assert_eq!(card_label("AS"), "A♠"); assert_eq!(card_label("10H"), "10♥"); - let cards = |values: &[&str]| values.iter().map(|card| card.to_string()).collect::>(); + let cards = |values: &[&str]| { + values + .iter() + .map(|card| card.to_string()) + .collect::>() + }; assert_eq!(hand_total(&cards(&["AS", "10H"])), 21); assert_eq!(hand_total(&cards(&["AS", "9H"])), 20); assert_eq!(hand_total(&cards(&["AS", "AS", "9H"])), 21); diff --git a/tests/client_core.rs b/tests/client_core.rs index e8b5646..176791e 100644 --- a/tests/client_core.rs +++ b/tests/client_core.rs @@ -4,6 +4,7 @@ //! logical `Effect`s that `ClientCore` emits, so assertions are about what a //! player would see, not about ANSI sequences. +use std::time::Duration; use zagan_bet::blackjack::BlackjackState; use zagan_bet::client::core::{ClientCore, Effect, InteractiveCommand, Key}; use zagan_bet::client::games::response::{ @@ -11,7 +12,6 @@ use zagan_bet::client::games::response::{ }; use zagan_bet::client::ui::command_names; use zagan_bet::crash::CrashState; -use std::time::Duration; const WIN3: &str = "CCCCLLCLODGSDGS"; const LOSS: &str = "CLOOGDSLCDCOGLS"; @@ -67,10 +67,7 @@ impl Screen { } Effect::SendLine(line) => sent.push(line.clone()), Effect::Interactive(command) => interactive.push(command.clone()), - Effect::Quit - | Effect::Disconnect - | Effect::ListHosts - | Effect::ForgetHost(_) => {} + Effect::Quit | Effect::Disconnect | Effect::ListHosts | Effect::ForgetHost(_) => {} } } } @@ -276,7 +273,8 @@ fn a_mega_win_shows_all_winning_lines() { assert_eq!(h.board().len(), 10); assert!(h.board()[7].contains("MEGA WIN! 700 PLN")); - assert!(h.board()[8].contains("Winning lines: 1 (top), 2 (middle), 3 (bottom), 4 (V), 5 (inverted V)")); + assert!(h.board()[8] + .contains("Winning lines: 1 (top), 2 (middle), 3 (bottom), 4 (V), 5 (inverted V)")); assert_eq!(h.board()[2].matches("{ C }").count(), 5); } @@ -423,10 +421,7 @@ fn help_lists_every_command() { let transcript = h.screen.lines.join("\n"); for command in command_names() { - assert!( - transcript.contains(command), - "help is missing '{command}'" - ); + assert!(transcript.contains(command), "help is missing '{command}'"); } } @@ -548,11 +543,7 @@ fn send_prints_the_echo() { h.line("send hello"); h.reply("hello"); - assert!(h - .screen - .lines - .iter() - .any(|line| line == "Echo: hello")); + assert!(h.screen.lines.iter().any(|line| line == "Echo: hello")); } #[test] @@ -560,11 +551,7 @@ fn disconnect_clears_connection_state() { let mut h = Harness::new(); h.line("disconnect"); - assert!(h - .screen - .lines - .iter() - .any(|line| line == "Disconnected")); + assert!(h.screen.lines.iter().any(|line| line == "Disconnected")); h.line("play slots"); assert!(h @@ -636,8 +623,7 @@ fn roulette_split_bets_spin_and_show_the_result() { "PLAY_START roulette 30 {\"red\":10,\"black\":0,\"even\":10,\"odd\":0,\"numbers\":[{\"number\":17,\"amount\":10}]}" ); - let bets = - r#"{"red":10,"black":0,"even":10,"odd":0,"numbers":[{"number":17,"amount":10}]}"#; + let bets = r#"{"red":10,"black":0,"even":10,"odd":0,"numbers":[{"number":17,"amount":10}]}"#; h.reply(&format!( "ROULETTE_RESULT session-1 360 30 1330 17 black {bets}" )); @@ -655,7 +641,10 @@ fn roulette_rejects_an_empty_spin_and_accepts_the_equals_chip_key() { h.key(Key::Char(' ')); assert!(h.board()[4].contains("ERROR: Place at least one bet")); - assert!(!h.sent.iter().any(|line| line.starts_with("PLAY_START roulette"))); + assert!(!h + .sent + .iter() + .any(|line| line.starts_with("PLAY_START roulette"))); h.key(Key::Char('=')); assert!(h.board()[1].contains("Chip: 20 PLN")); @@ -716,10 +705,7 @@ fn blackjack_deals_hits_and_settles() { assert!(h.board()[4].contains("Press [SPACE] to deal.")); h.key(Key::Char(' ')); - assert!(h - .sent - .iter() - .any(|line| line == "PLAY_START blackjack 10")); + assert!(h.sent.iter().any(|line| line == "PLAY_START blackjack 10")); let player = bj_state( "bj1", @@ -847,10 +833,7 @@ fn blackjack_ready_board_can_change_the_next_bet() { assert!(h.board()[1].contains("Bet: 20 PLN")); h.key(Key::Char(' ')); - assert!(h - .sent - .iter() - .any(|line| line == "PLAY_START blackjack 20")); + assert!(h.sent.iter().any(|line| line == "PLAY_START blackjack 20")); } #[test] @@ -875,7 +858,13 @@ fn parses_a_blackjack_state() { assert!(parse_blackjack_response("ERROR Insufficient balance").is_err()); } -fn crash_state(phase: &str, multiplier: f64, crash_point: Option, payout: u64, balance: i64) -> CrashState { +fn crash_state( + phase: &str, + multiplier: f64, + crash_point: Option, + payout: u64, + balance: i64, +) -> CrashState { CrashState { session_id: "cr1".to_string(), phase: phase.to_string(), @@ -920,10 +909,7 @@ fn crash_starts_a_round_and_draws_the_multiplier_locally() { assert!(h.board()[3].contains("Potential: 20 PLN")); h.key(Key::Char('c')); - assert_eq!( - h.sent.last().map(String::as_str), - Some("CRASH_CASHOUT cr1") - ); + assert_eq!(h.sent.last().map(String::as_str), Some("CRASH_CASHOUT cr1")); let cashed = crash_state("cashed", 2.0, Some(3.0), 20, 1010); h.reply(&crash_line("CRASH_STATE", &cashed)); @@ -967,10 +953,7 @@ fn crash_q_forfeits_an_active_round() { h.reply(&crash_line("CRASH_START", &running)); h.key(Key::Char('q')); - assert_eq!( - h.sent.last().map(String::as_str), - Some("CRASH_FORFEIT cr1") - ); + assert_eq!(h.sent.last().map(String::as_str), Some("CRASH_FORFEIT cr1")); let forfeited = crash_state("forfeit", 1.2, Some(2.0), 0, 990); h.reply(&crash_line("CRASH_STATE", &forfeited)); diff --git a/tests/client_ui.rs b/tests/client_ui.rs index 7a1b675..44febde 100644 --- a/tests/client_ui.rs +++ b/tests/client_ui.rs @@ -1,9 +1,9 @@ +use std::time::Duration; use zagan_bet::client::ui::{ - command_names, completion_lines, display_width, first_contact_lines, format_pong, - help_lines, host_lines, input_cursor_column, lines_to_move_up, parse_bet_arg, record_history, + command_names, completion_lines, display_width, first_contact_lines, format_pong, help_lines, + host_lines, input_cursor_column, lines_to_move_up, parse_bet_arg, record_history, visual_line_count, }; -use std::time::Duration; #[test] fn help_has_no_source_indentation() { @@ -27,13 +27,7 @@ fn help_documents_every_command() { fn completion_knows_every_command() { let commands = command_names(); for expected in [ - "connect", - "games", - "play", - "hosts", - "send", - "logout", - "quit", + "connect", "games", "play", "hosts", "send", "logout", "quit", ] { assert!( commands.contains(&expected), @@ -109,19 +103,12 @@ fn display_width_ignores_ansi_sequences() { fn visual_line_count_ignores_ansi_sequences() { let styled = format!("\x1b[31m{}\x1b[0m", "x".repeat(75)); assert_eq!(visual_line_count(&[styled], 72), 2); - assert_eq!( - visual_line_count(&["\x1b[31m18\x1b[0m".to_string()], 80), - 1 - ); + assert_eq!(visual_line_count(&["\x1b[31m18\x1b[0m".to_string()], 80), 1); } #[test] fn visual_line_count_accounts_for_terminal_wrapping() { - let lines = vec![ - "12345".to_string(), - "123456".to_string(), - String::new(), - ]; + let lines = vec!["12345".to_string(), "123456".to_string(), String::new()]; assert_eq!(visual_line_count(&lines, 5), 4); // 1 + 2 + 1 assert_eq!(visual_line_count(&lines, 6), 3); // 1 + 1 + 1 @@ -146,7 +133,10 @@ fn completions_wrap_within_the_requested_width() { let commands = command_names(); let lines = completion_lines(&commands, 40); - assert_eq!(lines.first().map(String::as_str), Some("Possible completions:")); + assert_eq!( + lines.first().map(String::as_str), + Some("Possible completions:") + ); for line in &lines[1..] { assert!( line.len() <= 40, @@ -208,10 +198,7 @@ fn pong_is_formatted_to_one_decimal() { fn host_lines_fit_an_80_column_terminal() { let fingerprint = "a4d6f80784154c2cb739a1df61ab3e9038ed731ee2e05c7611457ac741b3834c"; let lines = host_lines(&[ - ( - "127.0.0.1:11525".to_string(), - Some(fingerprint.to_string()), - ), + ("127.0.0.1:11525".to_string(), Some(fingerprint.to_string())), ("unknown.example:443".to_string(), None), ]); @@ -233,10 +220,7 @@ fn hosts_sharing_a_fingerprint_are_shown_as_one_server() { let lines = host_lines(&[ ("10.0.0.100:11525".to_string(), Some(key.to_string())), ("127.0.0.1:11525".to_string(), Some(key.to_string())), - ( - "other.example:11525".to_string(), - Some("ff".repeat(32)), - ), + ("other.example:11525".to_string(), Some("ff".repeat(32))), ]); assert_eq!( @@ -264,7 +248,10 @@ fn hosts_without_a_fingerprint_are_never_merged() { assert!(lines.contains(&" a.example:443".to_string())); assert!(lines.contains(&" b.example:443".to_string())); assert_eq!( - lines.iter().filter(|line| line.contains("no fingerprint")).count(), + lines + .iter() + .filter(|line| line.contains("no fingerprint")) + .count(), 2 ); } diff --git a/tests/crash.rs b/tests/crash.rs index f59c52f..49eaf89 100644 --- a/tests/crash.rs +++ b/tests/crash.rs @@ -18,7 +18,11 @@ fn the_multiplier_doubles_every_five_seconds() { close(multiplier_at(Duration::ZERO), 1.0, 1e-9); close(multiplier_at(Duration::from_secs(5)), 2.0, 1e-9); close(multiplier_at(Duration::from_secs(10)), 4.0, 1e-6); - close(multiplier_at(Duration::from_millis(2500)), 1.414_213_562, 1e-6); + close( + multiplier_at(Duration::from_millis(2500)), + 1.414_213_562, + 1e-6, + ); // Never below 1x, even for nonsense input. assert_eq!(multiplier_at_secs(-3.0), 1.0); diff --git a/tests/protocol.rs b/tests/protocol.rs index 2962574..bf8a4fd 100644 --- a/tests/protocol.rs +++ b/tests/protocol.rs @@ -40,8 +40,14 @@ fn reads_multiple_lines_from_a_reader() { let mut buffer = LineBuffer::new(); let mut reader = Cursor::new(b"one\ntwo\n".to_vec()); - assert_eq!(buffer.read_line(&mut reader).unwrap().as_deref(), Some("one")); - assert_eq!(buffer.read_line(&mut reader).unwrap().as_deref(), Some("two")); + assert_eq!( + buffer.read_line(&mut reader).unwrap().as_deref(), + Some("one") + ); + assert_eq!( + buffer.read_line(&mut reader).unwrap().as_deref(), + Some("two") + ); assert_eq!(buffer.read_line(&mut reader).unwrap(), None); } diff --git a/tests/roulette.rs b/tests/roulette.rs index 6b99d17..932bace 100644 --- a/tests/roulette.rs +++ b/tests/roulette.rs @@ -1,6 +1,4 @@ -use zagan_bet::roulette::{ - color, is_black, is_even, is_odd, is_red, rtp, Bets, NumberBet, WHEEL, -}; +use zagan_bet::roulette::{color, is_black, is_even, is_odd, is_red, rtp, Bets, NumberBet, WHEEL}; use zagan_bet::server::games::roulette::RouletteGame; use zagan_bet::server::games::traits::Game; @@ -171,14 +169,13 @@ fn rejects_bad_roulette_results() { use zagan_bet::client::games::response::parse_roulette_response; let valid_bets = r#"{"red":10}"#; - assert!(parse_roulette_response(&format!( - "ROULETTE_RESULT s 1 1 1 37 green {valid_bets}" - )) - .is_err()); - assert!(parse_roulette_response(&format!( - "ROULETTE_RESULT s 1 1 1 17 purple {valid_bets}" - )) - .is_err()); + assert!( + parse_roulette_response(&format!("ROULETTE_RESULT s 1 1 1 37 green {valid_bets}")).is_err() + ); + assert!( + parse_roulette_response(&format!("ROULETTE_RESULT s 1 1 1 17 purple {valid_bets}")) + .is_err() + ); assert!(parse_roulette_response("ROULETTE_RESULT s 1 1 1 17 black nope").is_err()); assert!(parse_roulette_response("").is_err()); } diff --git a/tests/server_core.rs b/tests/server_core.rs index 0350fb6..6b7b415 100644 --- a/tests/server_core.rs +++ b/tests/server_core.rs @@ -4,13 +4,13 @@ use std::sync::Arc; use rusqlite::Connection; use zagan_bet::blackjack::BlackjackState; use zagan_bet::crash::CrashState; +use zagan_bet::roulette::Bets; use zagan_bet::server::core::{ConnectionState, ServerCore}; use zagan_bet::server::database; use zagan_bet::server::games::crash::ManualClock; use zagan_bet::server::games::registry::GameRegistry; use zagan_bet::server::games::roulette::RouletteGame; use zagan_bet::server::games::slots::SlotsGame; -use zagan_bet::roulette::Bets; fn setup(name: &str, grid: &str) -> (ServerCore, String) { let path = PathBuf::from(env!("CARGO_TARGET_TMPDIR")) @@ -63,8 +63,7 @@ fn setup_blackjack(name: &str, deck: &[&str]) -> (ServerCore, String) { let deck = deck.iter().map(|card| card.to_string()).collect(); ( - ServerCore::with_registry(conn, GameRegistry::with_defaults(), 4) - .with_blackjack_deck(deck), + ServerCore::with_registry(conn, GameRegistry::with_defaults(), 4).with_blackjack_deck(deck), path, ) } @@ -216,7 +215,10 @@ fn plays_record_the_game_type_and_game_specific_details() { login(&mut core, &mut state, "alice"); let response = core.handle_message(&mut state, "PLAY_START slots 10"); - assert!(response.starts_with("GAME_RESULT"), "spin failed: {response}"); + assert!( + response.starts_with("GAME_RESULT"), + "spin failed: {response}" + ); let conn = Connection::open(&path).unwrap(); let (game_type, details): (String, String) = conn @@ -242,8 +244,7 @@ fn roulette_settles_split_bets_and_records_details() { register(&mut core, &mut state, "alice"); login(&mut core, &mut state, "alice"); - let bets = - r#"{"red":10,"black":10,"even":10,"odd":10,"numbers":[{"number":17,"amount":5}]}"#; + let bets = r#"{"red":10,"black":10,"even":10,"odd":10,"numbers":[{"number":17,"amount":5}]}"#; let response = core.handle_message(&mut state, &format!("PLAY_START roulette 45 {bets}")); assert!( @@ -254,7 +255,10 @@ fn roulette_settles_split_bets_and_records_details() { response.contains(" 220 45 1175 17 black "), "response: {response}" ); - assert!(response.ends_with(&format!(" {bets}")), "response: {response}"); + assert!( + response.ends_with(&format!(" {bets}")), + "response: {response}" + ); assert_eq!(core.balance("alice"), Some(1175)); assert_eq!(core.play_count("alice"), 1); assert_eq!(core.session_count(), 0); @@ -327,7 +331,10 @@ fn a_winning_spin_updates_the_balance_and_the_audit_row() { login(&mut core, &mut state, "alice"); let response = core.handle_message(&mut state, "PLAY_START slots 10"); - assert!(response.starts_with("GAME_RESULT"), "spin failed: {response}"); + assert!( + response.starts_with("GAME_RESULT"), + "spin failed: {response}" + ); assert!(response.contains(" 10 10 1000 "), "response: {response}"); assert!(response.ends_with(" win 1 0,3,6"), "response: {response}"); @@ -364,11 +371,8 @@ fn a_negative_balance_is_rejected_without_wrapping() { login(&mut core, &mut state, "alice"); let conn = Connection::open(&path).unwrap(); - conn.execute( - "UPDATE users SET balance = -5 WHERE username = 'alice'", - [], - ) - .unwrap(); + conn.execute("UPDATE users SET balance = -5 WHERE username = 'alice'", []) + .unwrap(); assert_eq!( core.handle_message(&mut state, "PLAY_START slots 10"), @@ -394,10 +398,7 @@ fn unknown_games_are_rejected_before_a_session_is_created() { #[test] fn blackjack_reserves_the_bet_and_settles_a_hit_hand() { - let (mut core, path) = setup_blackjack( - "blackjack-hit", - &["10S", "9D", "6H", "8C", "5D"], - ); + let (mut core, path) = setup_blackjack("blackjack-hit", &["10S", "9D", "6H", "8C", "5D"]); let mut state = ConnectionState::default(); register(&mut core, &mut state, "alice"); login(&mut core, &mut state, "alice"); @@ -442,10 +443,7 @@ fn blackjack_reserves_the_bet_and_settles_a_hit_hand() { #[test] fn blackjack_double_reserves_an_extra_bet() { - let (mut core, path) = setup_blackjack( - "blackjack-double", - &["5S", "9D", "5H", "8C", "10D"], - ); + let (mut core, path) = setup_blackjack("blackjack-double", &["5S", "9D", "5H", "8C", "10D"]); let mut state = ConnectionState::default(); register(&mut core, &mut state, "alice"); login(&mut core, &mut state, "alice"); @@ -483,8 +481,7 @@ fn blackjack_double_reserves_an_extra_bet() { #[test] fn blackjack_natural_settles_immediately() { - let (mut core, _path) = - setup_blackjack("blackjack-natural", &["AS", "9D", "KH", "8C"]); + let (mut core, _path) = setup_blackjack("blackjack-natural", &["AS", "9D", "KH", "8C"]); let mut state = ConnectionState::default(); register(&mut core, &mut state, "alice"); login(&mut core, &mut state, "alice"); @@ -501,8 +498,7 @@ fn blackjack_natural_settles_immediately() { #[test] fn blackjack_forfeit_keeps_the_reserved_bet() { - let (mut core, _path) = - setup_blackjack("blackjack-cancel", &["10S", "9D", "6H", "8C"]); + let (mut core, _path) = setup_blackjack("blackjack-cancel", &["10S", "9D", "6H", "8C"]); let mut state = ConnectionState::default(); register(&mut core, &mut state, "alice"); login(&mut core, &mut state, "alice"); @@ -524,8 +520,7 @@ fn blackjack_forfeit_keeps_the_reserved_bet() { #[test] fn blackjack_disconnect_forfeits_the_reserved_bet() { - let (mut core, _path) = - setup_blackjack("blackjack-disconnect", &["10S", "9D", "6H", "8C"]); + let (mut core, _path) = setup_blackjack("blackjack-disconnect", &["10S", "9D", "6H", "8C"]); let mut state = ConnectionState::default(); register(&mut core, &mut state, "alice"); login(&mut core, &mut state, "alice"); @@ -578,10 +573,9 @@ fn crash_cashout_pays_the_multiplier_from_the_server_clock() { // Five seconds of round time: 2.00x, still below the 3.00x crash point. clock.advance(5.0); - let cashed = crash_state(&core.handle_message( - &mut state, - &format!("CRASH_CASHOUT {}", started.session_id), - )); + let cashed = crash_state( + &core.handle_message(&mut state, &format!("CRASH_CASHOUT {}", started.session_id)), + ); assert_eq!(cashed.phase, "cashed"); assert_eq!(cashed.multiplier, 2.0); @@ -600,7 +594,15 @@ fn crash_cashout_pays_the_multiplier_from_the_server_clock() { "SELECT game_type, bet_amount, winnings, balance_after, details FROM plays WHERE username = 'alice'", [], - |row| Ok((row.get(0)?, row.get(1)?, row.get(2)?, row.get(3)?, row.get(4)?)), + |row| { + Ok(( + row.get(0)?, + row.get(1)?, + row.get(2)?, + row.get(3)?, + row.get(4)?, + )) + }, ) .unwrap(); assert_eq!(game_type, "crash"); @@ -627,10 +629,9 @@ fn a_cashout_after_the_crash_time_loses_the_reserved_bet() { let started = crash_state(&core.handle_message(&mut state, "PLAY_START crash 10")); clock.advance(20.0); - let late = crash_state(&core.handle_message( - &mut state, - &format!("CRASH_CASHOUT {}", started.session_id), - )); + let late = crash_state( + &core.handle_message(&mut state, &format!("CRASH_CASHOUT {}", started.session_id)), + ); assert_eq!(late.phase, "crashed"); assert_eq!(late.payout, 0); @@ -679,10 +680,9 @@ fn crash_forfeit_keeps_the_reserved_bet() { login(&mut core, &mut state, "alice"); let started = crash_state(&core.handle_message(&mut state, "PLAY_START crash 10")); - let forfeited = crash_state(&core.handle_message( - &mut state, - &format!("CRASH_FORFEIT {}", started.session_id), - )); + let forfeited = crash_state( + &core.handle_message(&mut state, &format!("CRASH_FORFEIT {}", started.session_id)), + ); assert_eq!(forfeited.phase, "forfeit"); assert_eq!(forfeited.payout, 0); @@ -747,10 +747,7 @@ fn crash_rounds_are_owned_by_the_player_who_started_them() { clock.advance(5.0); assert_eq!( - core.handle_message( - &mut bob, - &format!("CRASH_CASHOUT {}", started.session_id) - ), + core.handle_message(&mut bob, &format!("CRASH_CASHOUT {}", started.session_id)), "ERROR Invalid session" ); assert_eq!(core.balance("bob"), Some(1000)); @@ -775,10 +772,9 @@ fn a_crash_reservation_is_durable_until_the_round_settles() { drop(conn); clock.advance(5.0); - let cashed = crash_state(&core.handle_message( - &mut state, - &format!("CRASH_CASHOUT {}", started.session_id), - )); + let cashed = crash_state( + &core.handle_message(&mut state, &format!("CRASH_CASHOUT {}", started.session_id)), + ); assert_eq!(cashed.phase, "cashed"); let conn = Connection::open(&path).unwrap(); diff --git a/tests/slots.rs b/tests/slots.rs index 8bdd9af..7f0b6b5 100644 --- a/tests/slots.rs +++ b/tests/slots.rs @@ -1,8 +1,8 @@ //! Regression tests for the server-side 5x3 slots game. -use zagan_bet::slots::{paytable_lines, LINE_NAMES, SHAPE_MULTIPLIERS, SYMBOL_MULTIPLIERS}; use zagan_bet::server::games::slots::{LineWin, SlotsGame, PAYLINES, REELS, ROWS}; use zagan_bet::server::games::traits::{Game, GamePhase}; +use zagan_bet::slots::{paytable_lines, LINE_NAMES, SHAPE_MULTIPLIERS, SYMBOL_MULTIPLIERS}; /// Convert row-major test rows into the column-major wire format. fn grid(rows: [&str; 3]) -> String { @@ -62,7 +62,10 @@ fn four_of_a_kind_pays_more_than_three() { fn five_of_a_kind_pays_all_lines() { let (winnings, wins) = payout(["SSSSS", "SSSSS", "SSSSS"], 10); - assert_eq!(winnings, 7000, "five SSSSS lines: 5 * 10 * S(10) * shape5(14)"); + assert_eq!( + winnings, 7000, + "five SSSSS lines: 5 * 10 * S(10) * shape5(14)" + ); assert_eq!(lines(&wins), vec![1, 2, 3, 4, 5]); assert_eq!(wins[0].cells, vec![0, 3, 6, 9, 12]); assert_eq!(wins[3].cells, vec![0, 4, 8, 10, 12]); diff --git a/tests/tofu.rs b/tests/tofu.rs index 4f59d6d..b644cc4 100644 --- a/tests/tofu.rs +++ b/tests/tofu.rs @@ -74,7 +74,10 @@ fn fingerprint_is_sha256_of_spki() { let expected = openssl_spki_sha256(dir.join("primary.pem").to_str().unwrap()); let fp = spki_fingerprint(&der).expect("must parse the test certificate"); - assert_eq!(fp, expected, "fingerprint must equal openssl's SPKI SHA-256"); + assert_eq!( + fp, expected, + "fingerprint must equal openssl's SPKI SHA-256" + ); } #[test] @@ -90,10 +93,7 @@ fn first_contact_trusts_and_records() { #[test] fn matching_key_is_trusted() { - assert_eq!( - decide(Some("ab12cd34"), "ab12cd34"), - TrustDecision::Trusted - ); + assert_eq!(decide(Some("ab12cd34"), "ab12cd34"), TrustDecision::Trusted); } #[test] -- cgit v1.2.3