From: Geoffrey Allott Date: Fri, 4 Aug 2023 19:22:35 +0000 (+0100) Subject: clean up all warnings X-Git-Url: https://git.pointlesshacks.com/?a=commitdiff_plain;h=edcf80a15f34cdb35b1ca4ab33e5e8829ab1af7e;p=pokerwave.git clean up all warnings --- diff --git a/src/card.rs b/src/card.rs index 0c0b560..51ce22c 100644 --- a/src/card.rs +++ b/src/card.rs @@ -227,113 +227,121 @@ impl FromIterator for CardSet { } } -pub const TWO_OF_CLUBS: Card = Card { rank: Two, suit: Clubs }; -pub const THREE_OF_CLUBS: Card = Card { rank: Three, suit: Clubs }; -pub const FOUR_OF_CLUBS: Card = Card { rank: Four, suit: Clubs }; -pub const FIVE_OF_CLUBS: Card = Card { rank: Five, suit: Clubs }; -pub const SIX_OF_CLUBS: Card = Card { rank: Six, suit: Clubs }; -pub const SEVEN_OF_CLUBS: Card = Card { rank: Seven, suit: Clubs }; -pub const EIGHT_OF_CLUBS: Card = Card { rank: Eight, suit: Clubs }; -pub const NINE_OF_CLUBS: Card = Card { rank: Nine, suit: Clubs }; -pub const TEN_OF_CLUBS: Card = Card { rank: Ten, suit: Clubs }; -pub const JACK_OF_CLUBS: Card = Card { rank: Jack, suit: Clubs }; -pub const QUEEN_OF_CLUBS: Card = Card { rank: Queen, suit: Clubs }; -pub const KING_OF_CLUBS: Card = Card { rank: King, suit: Clubs }; -pub const ACE_OF_CLUBS: Card = Card { rank: Ace, suit: Clubs }; - -pub const TWO_OF_DIAMONDS: Card = Card { rank: Two, suit: Diamonds }; -pub const THREE_OF_DIAMONDS: Card = Card { rank: Three, suit: Diamonds }; -pub const FOUR_OF_DIAMONDS: Card = Card { rank: Four, suit: Diamonds }; -pub const FIVE_OF_DIAMONDS: Card = Card { rank: Five, suit: Diamonds }; -pub const SIX_OF_DIAMONDS: Card = Card { rank: Six, suit: Diamonds }; -pub const SEVEN_OF_DIAMONDS: Card = Card { rank: Seven, suit: Diamonds }; -pub const EIGHT_OF_DIAMONDS: Card = Card { rank: Eight, suit: Diamonds }; -pub const NINE_OF_DIAMONDS: Card = Card { rank: Nine, suit: Diamonds }; -pub const TEN_OF_DIAMONDS: Card = Card { rank: Ten, suit: Diamonds }; -pub const JACK_OF_DIAMONDS: Card = Card { rank: Jack, suit: Diamonds }; -pub const QUEEN_OF_DIAMONDS: Card = Card { rank: Queen, suit: Diamonds }; -pub const KING_OF_DIAMONDS: Card = Card { rank: King, suit: Diamonds }; -pub const ACE_OF_DIAMONDS: Card = Card { rank: Ace, suit: Diamonds }; - -pub const TWO_OF_HEARTS: Card = Card { rank: Two, suit: Hearts }; -pub const THREE_OF_HEARTS: Card = Card { rank: Three, suit: Hearts }; -pub const FOUR_OF_HEARTS: Card = Card { rank: Four, suit: Hearts }; -pub const FIVE_OF_HEARTS: Card = Card { rank: Five, suit: Hearts }; -pub const SIX_OF_HEARTS: Card = Card { rank: Six, suit: Hearts }; -pub const SEVEN_OF_HEARTS: Card = Card { rank: Seven, suit: Hearts }; -pub const EIGHT_OF_HEARTS: Card = Card { rank: Eight, suit: Hearts }; -pub const NINE_OF_HEARTS: Card = Card { rank: Nine, suit: Hearts }; -pub const TEN_OF_HEARTS: Card = Card { rank: Ten, suit: Hearts }; -pub const JACK_OF_HEARTS: Card = Card { rank: Jack, suit: Hearts }; -pub const QUEEN_OF_HEARTS: Card = Card { rank: Queen, suit: Hearts }; -pub const KING_OF_HEARTS: Card = Card { rank: King, suit: Hearts }; -pub const ACE_OF_HEARTS: Card = Card { rank: Ace, suit: Hearts }; - -pub const TWO_OF_SPADES: Card = Card { rank: Two, suit: Spades }; -pub const THREE_OF_SPADES: Card = Card { rank: Three, suit: Spades }; -pub const FOUR_OF_SPADES: Card = Card { rank: Four, suit: Spades }; -pub const FIVE_OF_SPADES: Card = Card { rank: Five, suit: Spades }; -pub const SIX_OF_SPADES: Card = Card { rank: Six, suit: Spades }; -pub const SEVEN_OF_SPADES: Card = Card { rank: Seven, suit: Spades }; -pub const EIGHT_OF_SPADES: Card = Card { rank: Eight, suit: Spades }; -pub const NINE_OF_SPADES: Card = Card { rank: Nine, suit: Spades }; -pub const TEN_OF_SPADES: Card = Card { rank: Ten, suit: Spades }; -pub const JACK_OF_SPADES: Card = Card { rank: Jack, suit: Spades }; -pub const QUEEN_OF_SPADES: Card = Card { rank: Queen, suit: Spades }; -pub const KING_OF_SPADES: Card = Card { rank: King, suit: Spades }; -pub const ACE_OF_SPADES: Card = Card { rank: Ace, suit: Spades }; - -pub const FIFTY_TWO_CARD_DECK: [Card; 52] = [ - ACE_OF_SPADES, - ACE_OF_HEARTS, - ACE_OF_DIAMONDS, - ACE_OF_CLUBS, - KING_OF_SPADES, - KING_OF_HEARTS, - KING_OF_DIAMONDS, - KING_OF_CLUBS, - QUEEN_OF_SPADES, - QUEEN_OF_HEARTS, - QUEEN_OF_DIAMONDS, - QUEEN_OF_CLUBS, - JACK_OF_SPADES, - JACK_OF_HEARTS, - JACK_OF_DIAMONDS, - JACK_OF_CLUBS, - TEN_OF_SPADES, - TEN_OF_HEARTS, - TEN_OF_DIAMONDS, - TEN_OF_CLUBS, - NINE_OF_SPADES, - NINE_OF_HEARTS, - NINE_OF_DIAMONDS, - NINE_OF_CLUBS, - EIGHT_OF_SPADES, - EIGHT_OF_HEARTS, - EIGHT_OF_DIAMONDS, - EIGHT_OF_CLUBS, - SEVEN_OF_SPADES, - SEVEN_OF_HEARTS, - SEVEN_OF_DIAMONDS, - SEVEN_OF_CLUBS, - SIX_OF_SPADES, - SIX_OF_HEARTS, - SIX_OF_DIAMONDS, - SIX_OF_CLUBS, - FIVE_OF_SPADES, - FIVE_OF_HEARTS, - FIVE_OF_DIAMONDS, - FIVE_OF_CLUBS, - FOUR_OF_SPADES, - FOUR_OF_HEARTS, - FOUR_OF_DIAMONDS, - FOUR_OF_CLUBS, - THREE_OF_SPADES, - THREE_OF_HEARTS, - THREE_OF_DIAMONDS, - THREE_OF_CLUBS, - TWO_OF_SPADES, - TWO_OF_HEARTS, - TWO_OF_DIAMONDS, - TWO_OF_CLUBS, -]; +#[cfg(test)] +pub use constants::*; + +#[cfg(test)] +mod constants { + use super::*; + + pub const TWO_OF_CLUBS: Card = Card { rank: Two, suit: Clubs }; + pub const THREE_OF_CLUBS: Card = Card { rank: Three, suit: Clubs }; + pub const FOUR_OF_CLUBS: Card = Card { rank: Four, suit: Clubs }; + pub const FIVE_OF_CLUBS: Card = Card { rank: Five, suit: Clubs }; + pub const SIX_OF_CLUBS: Card = Card { rank: Six, suit: Clubs }; + pub const SEVEN_OF_CLUBS: Card = Card { rank: Seven, suit: Clubs }; + pub const EIGHT_OF_CLUBS: Card = Card { rank: Eight, suit: Clubs }; + pub const NINE_OF_CLUBS: Card = Card { rank: Nine, suit: Clubs }; + pub const TEN_OF_CLUBS: Card = Card { rank: Ten, suit: Clubs }; + pub const JACK_OF_CLUBS: Card = Card { rank: Jack, suit: Clubs }; + pub const QUEEN_OF_CLUBS: Card = Card { rank: Queen, suit: Clubs }; + pub const KING_OF_CLUBS: Card = Card { rank: King, suit: Clubs }; + pub const ACE_OF_CLUBS: Card = Card { rank: Ace, suit: Clubs }; + + pub const TWO_OF_DIAMONDS: Card = Card { rank: Two, suit: Diamonds }; + pub const THREE_OF_DIAMONDS: Card = Card { rank: Three, suit: Diamonds }; + pub const FOUR_OF_DIAMONDS: Card = Card { rank: Four, suit: Diamonds }; + pub const FIVE_OF_DIAMONDS: Card = Card { rank: Five, suit: Diamonds }; + pub const SIX_OF_DIAMONDS: Card = Card { rank: Six, suit: Diamonds }; + pub const SEVEN_OF_DIAMONDS: Card = Card { rank: Seven, suit: Diamonds }; + pub const EIGHT_OF_DIAMONDS: Card = Card { rank: Eight, suit: Diamonds }; + pub const NINE_OF_DIAMONDS: Card = Card { rank: Nine, suit: Diamonds }; + pub const TEN_OF_DIAMONDS: Card = Card { rank: Ten, suit: Diamonds }; + pub const JACK_OF_DIAMONDS: Card = Card { rank: Jack, suit: Diamonds }; + pub const QUEEN_OF_DIAMONDS: Card = Card { rank: Queen, suit: Diamonds }; + pub const KING_OF_DIAMONDS: Card = Card { rank: King, suit: Diamonds }; + pub const ACE_OF_DIAMONDS: Card = Card { rank: Ace, suit: Diamonds }; + + pub const TWO_OF_HEARTS: Card = Card { rank: Two, suit: Hearts }; + pub const THREE_OF_HEARTS: Card = Card { rank: Three, suit: Hearts }; + pub const FOUR_OF_HEARTS: Card = Card { rank: Four, suit: Hearts }; + pub const FIVE_OF_HEARTS: Card = Card { rank: Five, suit: Hearts }; + pub const SIX_OF_HEARTS: Card = Card { rank: Six, suit: Hearts }; + pub const SEVEN_OF_HEARTS: Card = Card { rank: Seven, suit: Hearts }; + pub const EIGHT_OF_HEARTS: Card = Card { rank: Eight, suit: Hearts }; + pub const NINE_OF_HEARTS: Card = Card { rank: Nine, suit: Hearts }; + pub const TEN_OF_HEARTS: Card = Card { rank: Ten, suit: Hearts }; + pub const JACK_OF_HEARTS: Card = Card { rank: Jack, suit: Hearts }; + pub const QUEEN_OF_HEARTS: Card = Card { rank: Queen, suit: Hearts }; + pub const KING_OF_HEARTS: Card = Card { rank: King, suit: Hearts }; + pub const ACE_OF_HEARTS: Card = Card { rank: Ace, suit: Hearts }; + + pub const TWO_OF_SPADES: Card = Card { rank: Two, suit: Spades }; + pub const THREE_OF_SPADES: Card = Card { rank: Three, suit: Spades }; + pub const FOUR_OF_SPADES: Card = Card { rank: Four, suit: Spades }; + pub const FIVE_OF_SPADES: Card = Card { rank: Five, suit: Spades }; + pub const SIX_OF_SPADES: Card = Card { rank: Six, suit: Spades }; + pub const SEVEN_OF_SPADES: Card = Card { rank: Seven, suit: Spades }; + pub const EIGHT_OF_SPADES: Card = Card { rank: Eight, suit: Spades }; + pub const NINE_OF_SPADES: Card = Card { rank: Nine, suit: Spades }; + pub const TEN_OF_SPADES: Card = Card { rank: Ten, suit: Spades }; + pub const JACK_OF_SPADES: Card = Card { rank: Jack, suit: Spades }; + pub const QUEEN_OF_SPADES: Card = Card { rank: Queen, suit: Spades }; + pub const KING_OF_SPADES: Card = Card { rank: King, suit: Spades }; + pub const ACE_OF_SPADES: Card = Card { rank: Ace, suit: Spades }; + + pub const FIFTY_TWO_CARD_DECK: [Card; 52] = [ + ACE_OF_SPADES, + ACE_OF_HEARTS, + ACE_OF_DIAMONDS, + ACE_OF_CLUBS, + KING_OF_SPADES, + KING_OF_HEARTS, + KING_OF_DIAMONDS, + KING_OF_CLUBS, + QUEEN_OF_SPADES, + QUEEN_OF_HEARTS, + QUEEN_OF_DIAMONDS, + QUEEN_OF_CLUBS, + JACK_OF_SPADES, + JACK_OF_HEARTS, + JACK_OF_DIAMONDS, + JACK_OF_CLUBS, + TEN_OF_SPADES, + TEN_OF_HEARTS, + TEN_OF_DIAMONDS, + TEN_OF_CLUBS, + NINE_OF_SPADES, + NINE_OF_HEARTS, + NINE_OF_DIAMONDS, + NINE_OF_CLUBS, + EIGHT_OF_SPADES, + EIGHT_OF_HEARTS, + EIGHT_OF_DIAMONDS, + EIGHT_OF_CLUBS, + SEVEN_OF_SPADES, + SEVEN_OF_HEARTS, + SEVEN_OF_DIAMONDS, + SEVEN_OF_CLUBS, + SIX_OF_SPADES, + SIX_OF_HEARTS, + SIX_OF_DIAMONDS, + SIX_OF_CLUBS, + FIVE_OF_SPADES, + FIVE_OF_HEARTS, + FIVE_OF_DIAMONDS, + FIVE_OF_CLUBS, + FOUR_OF_SPADES, + FOUR_OF_HEARTS, + FOUR_OF_DIAMONDS, + FOUR_OF_CLUBS, + THREE_OF_SPADES, + THREE_OF_HEARTS, + THREE_OF_DIAMONDS, + THREE_OF_CLUBS, + TWO_OF_SPADES, + TWO_OF_HEARTS, + TWO_OF_DIAMONDS, + TWO_OF_CLUBS, + ]; +} diff --git a/src/game/chatroom.rs b/src/game/chatroom.rs index 4b10a5a..20e220c 100644 --- a/src/game/chatroom.rs +++ b/src/game/chatroom.rs @@ -7,20 +7,6 @@ use crate::util::timestamp::Timestamp; use super::ValidatedUserAction; use super::{Game, UserAction}; -#[derive(Debug, Clone)] -enum ChatroomAction { - Join, - Message(String), - Leave, -} - -#[derive(Debug, Clone)] -struct ChatroomUserAction { - timestamp: Timestamp, - username: Username, - action: ChatroomAction, -} - #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ChatroomSettings { title: String, @@ -35,14 +21,13 @@ impl ChatroomSettings { #[derive(Debug, Clone)] pub struct Chatroom { id: i64, - settings: ChatroomSettings, - messages: Vec, + message_count: usize, users: HashSet, } impl Chatroom { - pub fn new(id: i64, settings: ChatroomSettings) -> Self { - Chatroom { id, settings, messages: Vec::new(), users: HashSet::new() } + pub fn new(id: i64, _: ChatroomSettings) -> Self { + Chatroom { id, message_count: 0, users: HashSet::new() } } } @@ -56,7 +41,7 @@ impl Game for Chatroom { } fn actions_len(&self) -> usize { - self.messages.len() + self.message_count } fn validate_action(&self, action: UserAction) -> Result { @@ -71,19 +56,19 @@ impl Game for Chatroom { } } - fn take_action(&mut self, ValidatedUserAction(UserAction { timestamp, username, action }): ValidatedUserAction) -> Result<(), ActionError> { + fn take_action(&mut self, ValidatedUserAction(UserAction { username, action, .. }): ValidatedUserAction) -> Result<(), ActionError> { match action { Action::Join { .. } => { - self.messages.push(ChatroomUserAction { timestamp, username, action: ChatroomAction::Join }); + self.message_count += 1; self.users.insert(username); Ok(()) } - Action::Message { message } => { - self.messages.push(ChatroomUserAction { timestamp, username, action: ChatroomAction::Message(message) }); + Action::Message { .. } => { + self.message_count += 1; Ok(()) } Action::Leave => { - self.messages.push(ChatroomUserAction { timestamp, username, action: ChatroomAction::Leave }); + self.message_count += 1; self.users.remove(&username); Ok(()) } diff --git a/src/game/poker/classify.rs b/src/game/poker/classify.rs index a75d029..9ad775f 100644 --- a/src/game/poker/classify.rs +++ b/src/game/poker/classify.rs @@ -494,6 +494,7 @@ impl Display for Odds { } } +#[cfg(test)] pub fn heads_up_odds(player1: [Card; 2], player2: [Card; 2]) -> Odds { let mut odds = Odds { player1_wins: 0, player2_wins: 0, draws: 0 }; let cards: Vec = FIFTY_TWO_CARD_DECK