From 61194104960febb08c6a30c182fb88f2cac1603d Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Fri, 3 Apr 2026 02:07:02 +0100 Subject: [PATCH] card: new -> make_joker and make_playing-card Always better to be explicit with our constructor names. --- src/card.rs | 6 +++++- src/modes/pair.rs | 4 ++-- src/modes/single.rs | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/card.rs b/src/card.rs index 942cef5..15cd168 100644 --- a/src/card.rs +++ b/src/card.rs @@ -55,7 +55,11 @@ impl PlayingCard { } impl Card { - pub fn new(rank: Rank, suit: Suit) -> Self { + pub fn make_joker() -> Self { + Self::Joker(-1) + } + + pub fn make_playing_card(rank: Rank, suit: Suit) -> Self { Self::PlayingCard(PlayingCard::new(0, rank, suit)) } diff --git a/src/modes/pair.rs b/src/modes/pair.rs index d682da5..e8c2afc 100644 --- a/src/modes/pair.rs +++ b/src/modes/pair.rs @@ -128,7 +128,7 @@ mod tests { #[test] fn new() { // Two jokers can never be a pair. - assert_eq!(Pair::new(Card::joker(), Card::joker()), None); + assert_eq!(Pair::new(Card::make_joker(), Card::make_joker()), None); for rank in 0..13 { // Vector of cards of a rank: size 4. @@ -157,7 +157,7 @@ mod tests { // TEST: Pairs may have one joker. let pair = { - let p = Pair::new(c1, Card::joker()); + let p = Pair::new(c1, Card::make_joker()); assert_ne!(p, None); p.unwrap() }; diff --git a/src/modes/single.rs b/src/modes/single.rs index 64fd67c..63e9edb 100644 --- a/src/modes/single.rs +++ b/src/modes/single.rs @@ -55,7 +55,7 @@ mod tests { #[test] fn new() { // TEST: Jokers are not valid singles. - assert!(Single::new(Card::joker()).is_none()); + assert!(Single::new(Card::make_joker()).is_none()); let deck = make_decks(1); let singles: Vec> =