open_pql/functions/
board_ranks.rs1use super::*;
2#[pqlfn(arg, rtn, eval)]
3pub fn board_ranks(street: PQLStreet, board: Board) -> PQLRankSet {
4 Card64::from((board, street)).into()
5}
6
7#[cfg(test)]
8mod tests {
9 use super::*;
10 use crate::*;
11
12 #[quickcheck]
13 fn test_board_ranks(board: Board) -> TestResult {
14 let cards = board.to_vec();
15 let flop = Rank16::from(cards[0..3].as_ref());
16 let turn = Rank16::from(cards[0..4].as_ref());
17 let river = Rank16::from(cards[0..5].as_ref());
18
19 TestResult::from_bool(
20 flop == board_ranks(PQLStreet::Flop, board)
21 && turn == board_ranks(PQLStreet::Turn, board)
22 && river == board_ranks(PQLStreet::River, board),
23 )
24 }
25}