fudd 0.1.9

Fun with poker. Named after that most famous of rabbit hunters.
Documentation
use crate::analysis::eval::Eval;
use crate::types::arrays::five_card::FiveCard;
use crate::types::arrays::seven_card::SevenCard;
use crate::types::arrays::two_card::TwoCard;
use crate::types::arrays::Evaluable;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
pub struct Eval7Card {
    pub eval: Eval,
    pub cards: SevenCard,
}

impl Eval7Card {
    #[must_use]
    pub fn new(cards: SevenCard, eval: Eval) -> Eval7Card {
        Eval7Card { eval, cards }
    }

    #[must_use]
    pub fn from_holdem(two_cards: TwoCard, five_cards: FiveCard) -> Eval7Card {
        Eval7Card::from(SevenCard::new(two_cards, five_cards))
    }
}

impl From<SevenCard> for Eval7Card {
    fn from(cards: SevenCard) -> Self {
        Eval7Card::new(cards, cards.eval())
    }
}