open_pql/functions/
hand_board_intersections.rs

1use super::*;
2#[pqlfn(arg, rtn, eval)]
3pub fn hand_board_intersections(
4    hand: &Hand,
5    street: PQLStreet,
6    board: Board,
7) -> PQLCardCount {
8    rank_count(intersecting_hand_ranks(hand, street, board))
9}
10
11#[cfg(test)]
12mod tests {
13    use super::*;
14    use crate::*;
15
16    #[quickcheck]
17    fn test_hand_board_intersections(
18        cards: (Card, Card, Card, Card),
19        board: Board,
20        street: PQLStreet,
21    ) -> TestResult {
22        let hand = [cards.0, cards.1, cards.2, cards.3];
23
24        let i = hand_board_intersections(&hand, street, board);
25
26        TestResult::from_bool(
27            i == rank_count(intersecting_hand_ranks(&hand, street, board)),
28        )
29    }
30}