1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
use crate::cards::{HandRanker, HandValidator};
use crate::hand_rank::HandRankValue;
use crate::{CKCNumber, CardNumber, HandError, PokerCard, Shifty};
use core::slice::Iter;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct Five([CKCNumber; 5]);

impl Five {
    pub const POSSIBLE_COMBINATIONS: usize = 7937;
    /// The number of leading and trailing zeroes from the `Five.or_rank_bits()` of a straight
    /// if it's not a wheel (5♥ 4♥ 3♥ 2♠ A♠).
    pub const STRAIGHT_PADDING: u32 = 27;
    pub const WHEEL_OR_BITS: u32 = 4111;

    #[must_use]
    pub fn new(first: CKCNumber, second: CKCNumber, third: CKCNumber, forth: CKCNumber, fifth: CKCNumber) -> Self {
        Self([first, second, third, forth, fifth])
    }

    //region accessors

    #[must_use]
    pub fn second(&self) -> CKCNumber {
        self.0[1]
    }

    #[must_use]
    pub fn third(&self) -> CKCNumber {
        self.0[2]
    }

    #[must_use]
    pub fn forth(&self) -> CKCNumber {
        self.0[3]
    }

    #[must_use]
    pub fn fifth(&self) -> CKCNumber {
        self.0[4]
    }

    pub fn set_first(&mut self, card_number: CKCNumber) {
        self.0[0] = card_number;
    }

    pub fn set_second(&mut self, card_number: CKCNumber) {
        self.0[1] = card_number;
    }

    pub fn set_third(&mut self, card_number: CKCNumber) {
        self.0[2] = card_number;
    }

    pub fn set_forth(&mut self, card_number: CKCNumber) {
        self.0[3] = card_number;
    }

    pub fn set_fifth(&mut self, card_number: CKCNumber) {
        self.0[4] = card_number;
    }

    #[must_use]
    pub fn to_arr(&self) -> [CKCNumber; 5] {
        self.0
    }

    //endregion

    fn from_index(index: &str) -> Option<[CKCNumber; 5]> {
        let mut esses = index.split_whitespace();

        let first = CKCNumber::from_index(esses.next()?);
        let second = CKCNumber::from_index(esses.next()?);
        let third = CKCNumber::from_index(esses.next()?);
        let forth = CKCNumber::from_index(esses.next()?);
        let fifth = CKCNumber::from_index(esses.next()?);
        let hand: [CKCNumber; 5] = [first, second, third, forth, fifth];
        Some(hand)
    }

    #[must_use]
    #[allow(clippy::comparison_chain)]
    pub fn find_in_products(key: usize) -> usize {
        let mut low = 0;
        let mut high = 4887;
        let mut mid;

        while low <= high {
            mid = (high + low) >> 1; // divide by two

            let product = crate::lookups::PRODUCTS[mid] as usize;
            if key < product {
                high = mid - 1;
            } else if key > product {
                low = mid + 1;
            } else {
                return mid;
            }
        }
        0
    }

    fn not_unique(&self) -> HandRankValue {
        crate::lookups::VALUES[Five::find_in_products(self.multiply_primes())]
    }

    #[allow(clippy::cast_possible_truncation)]
    fn unique(index: usize) -> HandRankValue {
        if index > Five::POSSIBLE_COMBINATIONS {
            return CardNumber::BLANK as HandRankValue;
        }
        crate::lookups::UNIQUE_5[index]
    }

    //endregion

    //region bitwise

    #[must_use]
    pub fn and_bits(&self) -> u32 {
        self.first() & self.second() & self.third() & self.forth() & self.fifth()
    }

    #[must_use]
    pub fn is_flush(&self) -> bool {
        (self.and_bits() & CardNumber::SUIT_FILTER) != 0
    }

    /// WRITE: Unit testing uncovering how the padding method doesn't work for wheels.
    #[must_use]
    pub fn is_straight(&self) -> bool {
        let rank_bits = self.or_rank_bits();
        ((rank_bits.trailing_zeros() + rank_bits.leading_zeros()) == Five::STRAIGHT_PADDING)
            || rank_bits == Five::WHEEL_OR_BITS
    }

    #[must_use]
    pub fn is_straight_flush(&self) -> bool {
        self.is_straight() && self.is_flush()
    }

    #[must_use]
    pub fn is_wheel(&self) -> bool {
        self.or_rank_bits() == Five::WHEEL_OR_BITS
    }

    #[must_use]
    pub fn multiply_primes(&self) -> usize {
        (self.first().get_rank_prime()
            * self.second().get_rank_prime()
            * self.third().get_rank_prime()
            * self.forth().get_rank_prime()
            * self.fifth().get_rank_prime()) as usize
    }

    #[must_use]
    pub fn or_bits(&self) -> u32 {
        self.first() | self.second() | self.third() | self.forth() | self.fifth()
    }

    #[must_use]
    pub fn or_rank_bits(&self) -> u32 {
        self.or_bits() >> CardNumber::RANK_FLAG_SHIFT
    }

    //endregion bitwise
}

impl From<[CKCNumber; 5]> for Five {
    fn from(array: [CKCNumber; 5]) -> Self {
        Five(array)
    }
}

impl HandRanker for Five {
    fn hand_rank_value_and_hand(&self) -> (HandRankValue, Five) {
        let i = self.or_rank_bits() as usize;

        let hrv: HandRankValue = if self.is_flush() {
            crate::lookups::FLUSHES[i]
        } else {
            // Continue to evaluate if it's not a flush and the cards aren't
            // unique (straight or high card).
            let unique = Five::unique(i);
            match unique {
                0 => self.not_unique(),
                _ => unique,
            }
        };

        (hrv, *self)
    }

    fn hand_rank_value_validated(&self) -> HandRankValue {
        if !self.is_valid() {
            return crate::hand_rank::NO_HAND_RANK_VALUE;
        }
        self.hand_rank_value()
    }
}

impl HandValidator for Five {
    // TODO: macro?
    fn are_unique(&self) -> bool {
        !(1..5).any(|i| self.0[i..].contains(&self.0[i - 1]))
    }

    fn first(&self) -> CKCNumber {
        self.0[0]
    }

    fn sort(&self) -> Five {
        let mut array = *self;
        array.sort_in_place();
        array
    }

    fn sort_in_place(&mut self) {
        self.0.sort_unstable();
        self.0.reverse();
    }

    fn iter(&self) -> Iter<'_, CKCNumber> {
        self.0.iter()
    }
}

impl TryFrom<&'static str> for Five {
    type Error = HandError;

    fn try_from(index: &'static str) -> Result<Self, Self::Error> {
        match Five::from_index(index) {
            None => Err(HandError::InvalidIndex),
            Some(five) => Ok(Five::from(five)),
        }
    }
}

impl Shifty for Five {
    fn shift_suit(&self) -> Self {
        Five([
            self.first().shift_suit(),
            self.second().shift_suit(),
            self.third().shift_suit(),
            self.forth().shift_suit(),
            self.fifth().shift_suit(),
        ])
    }
}

#[cfg(test)]
#[allow(non_snake_case)]
mod cards__five_tests {
    use super::*;
    use crate::hand_rank::{HandRankClass, HandRankName};
    use crate::CardNumber;
    use alloc::format;
    #[rustfmt::skip]
    #[rstest]
    #[case("A♠ K♠ Q♠ J♠ T♠", 1, HandRankName::StraightFlush, HandRankClass::RoyalFlush)]
    #[case("K♥ Q♥ J♥ T♥ 9♥", 2, HandRankName::StraightFlush, HandRankClass::KingHighStraightFlush)]
    #[case("Q♦ J♦ T♦ 9♦ 8♦", 3, HandRankName::StraightFlush, HandRankClass::QueenHighStraightFlush)]
    #[case("J♣ T♣ 9♣ 8♣ 7♣", 4, HandRankName::StraightFlush, HandRankClass::JackHighStraightFlush)]
    #[case("T♤ 9♤ 8♤ 7♤ 6♤", 5, HandRankName::StraightFlush, HandRankClass::TenHighStraightFlush)]
    #[case("9♡ 8♡ 7♡ 6♡ 5♡", 6, HandRankName::StraightFlush, HandRankClass::NineHighStraightFlush)]
    #[case("8♧ 7♧ 6♧ 5♧ 4♧", 7, HandRankName::StraightFlush, HandRankClass::EightHighStraightFlush)]
    #[case("7S 6S 5S 4S 3S", 8, HandRankName::StraightFlush, HandRankClass::SevenHighStraightFlush)]
    #[case("6H 5H 4H 3H 2H", 9, HandRankName::StraightFlush, HandRankClass::SixHighStraightFlush)]
    #[case("5D 4D 3D 2D AD", 10, HandRankName::StraightFlush, HandRankClass::FiveHighStraightFlush)]
    #[case("AS AH AD AC KS", 11, HandRankName::FourOfAKind, HandRankClass::FourAces)]
    #[case("AS AH AD AC QS", 12, HandRankName::FourOfAKind, HandRankClass::FourAces)]
    #[case("AS AH AD AC JS", 13, HandRankName::FourOfAKind, HandRankClass::FourAces)]
    #[case("AS AH AD AC TD", 14, HandRankName::FourOfAKind, HandRankClass::FourAces)]
    #[case("AS AH AD AC TC", 14, HandRankName::FourOfAKind, HandRankClass::FourAces)]
    #[case("AS AH AD AC 2S", 22, HandRankName::FourOfAKind, HandRankClass::FourAces)]
    #[case("KS KH KD KC AS", 23, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC QS", 24, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC JS", 25, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC TS", 26, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC 9S", 27, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC 8S", 28, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC 7S", 29, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC 6S", 30, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC 5S", 31, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC 4S", 32, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC 3S", 33, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("KS KH KD KC 2S", 34, HandRankName::FourOfAKind, HandRankClass::FourKings)]
    #[case("QS QH QD QC AS", 35, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC KS", 36, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC JS", 37, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC TS", 38, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC 9S", 39, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC 8S", 40, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC 7S", 41, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC 6S", 42, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC 5S", 43, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC 4S", 44, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC 3S", 45, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("QS QH QD QC 2C", 46, HandRankName::FourOfAKind, HandRankClass::FourQueens)]
    #[case("JS JH JD JC AC", 47, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC KC", 48, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC QC", 49, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC TC", 50, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC 9C", 51, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC 8C", 52, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC 7C", 53, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC 6C", 54, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC 5C", 55, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC 4C", 56, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC 3C", 57, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("JS JH JD JC 2C", 58, HandRankName::FourOfAKind, HandRankClass::FourJacks)]
    #[case("TS TH TD TC AS", 59, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC KS", 60, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC QS", 61, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC JS", 62, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC 9S", 63, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC 8S", 64, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC 7S", 65, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC 6S", 66, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC 5S", 67, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC 4S", 68, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC 3S", 69, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("TS TH TD TC 2C", 70, HandRankName::FourOfAKind, HandRankClass::FourTens)]
    #[case("9S 9H 9D 9C AH", 71, HandRankName::FourOfAKind, HandRankClass::FourNines)]
    #[case("9S 9H 9D 9C 2D", 82, HandRankName::FourOfAKind, HandRankClass::FourNines)]
    #[case("8S 8H 8D 8C AD", 83, HandRankName::FourOfAKind, HandRankClass::FourEights)]
    #[case("8S 8H 8D 8C 2D", 94, HandRankName::FourOfAKind, HandRankClass::FourEights)]
    #[case("7S 7H 7D 7C AD", 95, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C KD", 96, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C QD", 97, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C JD", 98, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C TD", 99, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C 9D", 100, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C 8D", 101, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C 6D", 102, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C 5D", 103, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C 4D", 104, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C 3D", 105, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("7S 7H 7D 7C 2D", 106, HandRankName::FourOfAKind, HandRankClass::FourSevens)]
    #[case("6S 6H 6D 6C AD", 107, HandRankName::FourOfAKind, HandRankClass::FourSixes)]
    #[case("6S 6H 6D 6C 2D", 118, HandRankName::FourOfAKind, HandRankClass::FourSixes)]
    #[case("5S 5H 5D 5C AD", 119, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C KD", 120, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C QD", 121, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C JD", 122, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C TD", 123, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C 9D", 124, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C 8D", 125, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C 7D", 126, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C 6D", 127, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C 4D", 128, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C 3D", 129, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("5S 5H 5D 5C 2D", 130, HandRankName::FourOfAKind, HandRankClass::FourFives)]
    #[case("4S 4H 4D 4C AD", 131, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C KD", 132, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C QD", 133, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C JD", 134, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C TD", 135, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C 9D", 136, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C 8D", 137, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C 7D", 138, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C 6D", 139, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C 5D", 140, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C 3D", 141, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("4S 4H 4D 4C 2D", 142, HandRankName::FourOfAKind, HandRankClass::FourFours)]
    #[case("3S 3H 3D 3C AD", 143, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C KD", 144, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C QD", 145, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C JD", 146, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C TD", 147, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C 9D", 148, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C 8D", 149, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C 7D", 150, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C 6D", 151, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C 5D", 152, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C 4D", 153, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("3S 3H 3D 3C 2D", 154, HandRankName::FourOfAKind, HandRankClass::FourTreys)]
    #[case("2S 2H 2D 2C AC", 155, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C KC", 156, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C QC", 157, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C JC", 158, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C TC", 159, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C 9C", 160, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C 8C", 161, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C 7C", 162, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C 6C", 163, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C 5C", 164, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C 4C", 165, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("2S 2H 2D 2C 3D", 166, HandRankName::FourOfAKind, HandRankClass::FourDeuces)]
    #[case("AS AH AD KC KD", 167, HandRankName::FullHouse, HandRankClass::AcesOverKings)]
    #[case("AS AH AD QC QD", 168, HandRankName::FullHouse, HandRankClass::AcesOverQueens)]
    #[case("AS AH AD JD JC", 169, HandRankName::FullHouse, HandRankClass::AcesOverJacks)]
    #[case("AS AH AD TD TC", 170, HandRankName::FullHouse, HandRankClass::AcesOverTens)]
    #[case("AS AH AD 9S 9D", 171, HandRankName::FullHouse, HandRankClass::AcesOverNines)]
    #[case("AS AH AD 8S 8D", 172, HandRankName::FullHouse, HandRankClass::AcesOverEights)]
    #[case("AS AH AD 7S 7D", 173, HandRankName::FullHouse, HandRankClass::AcesOverSevens)]
    #[case("AS AH AD 6S 6D", 174, HandRankName::FullHouse, HandRankClass::AcesOverSixes)]
    #[case("AS AH AD 5S 5D", 175, HandRankName::FullHouse, HandRankClass::AcesOverFives)]
    #[case("AS AH AD 4S 4D", 176, HandRankName::FullHouse, HandRankClass::AcesOverFours)]
    #[case("AS AH AD 3D 3c", 177, HandRankName::FullHouse, HandRankClass::AcesOverTreys)]
    #[case("AS AH AD 2H 2D", 178, HandRankName::FullHouse, HandRankClass::AcesOverDeuces)]
    #[case("AS AH KD KH KC", 179, HandRankName::FullHouse, HandRankClass::KingsOverAces)]
    #[case("QS KH QD KC KD", 180, HandRankName::FullHouse, HandRankClass::KingsOverQueens)]
    #[case("KS KH KD JH JD", 181, HandRankName::FullHouse, HandRankClass::KingsOverJacks)]
    #[case("KS KH KD TH TD", 182, HandRankName::FullHouse, HandRankClass::KingsOverTens)]
    #[case("KS KH KD 9H 9D", 183, HandRankName::FullHouse, HandRankClass::KingsOverNines)]
    #[case("KS KH 8D 8H KD", 184, HandRankName::FullHouse, HandRankClass::KingsOverEights)]
    #[case("KS KH KD 7H 7D", 185, HandRankName::FullHouse, HandRankClass::KingsOverSevens)]
    #[case("KS KH KD 6H 6D", 186, HandRankName::FullHouse, HandRankClass::KingsOverSixes)]
    #[case("KS KH KD 5H 5D", 187, HandRankName::FullHouse, HandRankClass::KingsOverFives)]
    #[case("4S 4H KD KH KC", 188, HandRankName::FullHouse, HandRankClass::KingsOverFours)]
    #[case("3S KH KD 3H KC", 189, HandRankName::FullHouse, HandRankClass::KingsOverTreys)]
    #[case("KS KH KD 2H 2D", 190, HandRankName::FullHouse, HandRankClass::KingsOverDeuces)]
    #[case("QS QH QD AH AD", 191, HandRankName::FullHouse, HandRankClass::QueensOverAces)]
    #[case("QS QH QD KH KD", 192, HandRankName::FullHouse, HandRankClass::QueensOverKings)]
    #[case("QS QH QD JH JD", 193, HandRankName::FullHouse, HandRankClass::QueensOverJacks)]
    #[case("QS QH QD TH TD", 194, HandRankName::FullHouse, HandRankClass::QueensOverTens)]
    #[case("QS QH QD 9H 9D", 195, HandRankName::FullHouse, HandRankClass::QueensOverNines)]
    #[case("QS QH QD 8H 8D", 196, HandRankName::FullHouse, HandRankClass::QueensOverEights)]
    #[case("QS QH QD 7H 7D", 197, HandRankName::FullHouse, HandRankClass::QueensOverSevens)]
    #[case("QS QH QD 6H 6D", 198, HandRankName::FullHouse, HandRankClass::QueensOverSixes)]
    #[case("QS QH QD 5H 5D", 199, HandRankName::FullHouse, HandRankClass::QueensOverFives)]
    #[case("QS QH QD 4S 4D", 200, HandRankName::FullHouse, HandRankClass::QueensOverFours)]
    #[case("QS QH QD 3H 3D", 201, HandRankName::FullHouse, HandRankClass::QueensOverTreys)]
    #[case("QS QH QD 2H 2D", 202, HandRankName::FullHouse, HandRankClass::QueensOverDeuces)]
    #[case("JS JH JD AH AD", 203, HandRankName::FullHouse, HandRankClass::JacksOverAces)]
    #[case("JS JH JD KH KD", 204, HandRankName::FullHouse, HandRankClass::JacksOverKings)]
    #[case("JS JH JD QH QD", 205, HandRankName::FullHouse, HandRankClass::JacksOverQueens)]
    #[case("JS JH JD TH TD", 206, HandRankName::FullHouse, HandRankClass::JacksOverTens)]
    #[case("JS JH JD 9H 9D", 207, HandRankName::FullHouse, HandRankClass::JacksOverNines)]
    #[case("JS JH JD 8H 8D", 208, HandRankName::FullHouse, HandRankClass::JacksOverEights)]
    #[case("JS JH JD 7H 7D", 209, HandRankName::FullHouse, HandRankClass::JacksOverSevens)]
    #[case("JS JH JD 6H 6D", 210, HandRankName::FullHouse, HandRankClass::JacksOverSixes)]
    #[case("JS JH JD 5H 5D", 211, HandRankName::FullHouse, HandRankClass::JacksOverFives)]
    #[case("JS JH JD 4H 4D", 212, HandRankName::FullHouse, HandRankClass::JacksOverFours)]
    #[case("JS JH JD 3H 3D", 213, HandRankName::FullHouse, HandRankClass::JacksOverTreys)]
    #[case("JS JH JD 2H 2D", 214, HandRankName::FullHouse, HandRankClass::JacksOverDeuces)]
    #[case("TS TH TD AH AD", 215, HandRankName::FullHouse, HandRankClass::TensOverAces)]
    #[case("TS TH TD KH KD", 216, HandRankName::FullHouse, HandRankClass::TensOverKings)]
    #[case("TS TH TD QH QD", 217, HandRankName::FullHouse, HandRankClass::TensOverQueens)]
    #[case("TS TH TD JH JD", 218, HandRankName::FullHouse, HandRankClass::TensOverJacks)]
    #[case("TS TH TD 9H 9D", 219, HandRankName::FullHouse, HandRankClass::TensOverNines)]
    #[case("TS TH TD 8H 8D", 220, HandRankName::FullHouse, HandRankClass::TensOverEights)]
    #[case("TS TH TD 7H 7D", 221, HandRankName::FullHouse, HandRankClass::TensOverSevens)]
    #[case("TS TH TD 6S 6D", 222, HandRankName::FullHouse, HandRankClass::TensOverSixes)]
    #[case("TS TH TD 5H 5D", 223, HandRankName::FullHouse, HandRankClass::TensOverFives)]
    #[case("TS TH TD 4H 4D", 224, HandRankName::FullHouse, HandRankClass::TensOverFours)]
    #[case("TS TH TD 3H 3D", 225, HandRankName::FullHouse, HandRankClass::TensOverTreys)]
    #[case("TS TH TD 2H 2D", 226, HandRankName::FullHouse, HandRankClass::TensOverDeuces)]
    #[case("9S 9H 9D AH AD", 227, HandRankName::FullHouse, HandRankClass::NinesOverAces)]
    #[case("9S 9H 9D KH KD", 228, HandRankName::FullHouse, HandRankClass::NinesOverKings)]
    #[case("9S 9H 9D QH QD", 229, HandRankName::FullHouse, HandRankClass::NinesOverQueens)]
    #[case("9S 9H 9D JH JD", 230, HandRankName::FullHouse, HandRankClass::NinesOverJacks)]
    #[case("9S 9H 9D TH TD", 231, HandRankName::FullHouse, HandRankClass::NinesOverTens)]
    #[case("9S 9H 9D 8H 8D", 232, HandRankName::FullHouse, HandRankClass::NinesOverEights)]
    #[case("9S 9H 9D 7H 7D", 233, HandRankName::FullHouse, HandRankClass::NinesOverSevens)]
    #[case("9S 9H 9D 6S 6D", 234, HandRankName::FullHouse, HandRankClass::NinesOverSixes)]
    #[case("9S 9H 9D 5H 5D", 235, HandRankName::FullHouse, HandRankClass::NinesOverFives)]
    #[case("9S 9H 9D 4H 4D", 236, HandRankName::FullHouse, HandRankClass::NinesOverFours)]
    #[case("9S 9H 9D 3H 3D", 237, HandRankName::FullHouse, HandRankClass::NinesOverTreys)]
    #[case("9S 9H 9D 2H 2D", 238, HandRankName::FullHouse, HandRankClass::NinesOverDeuces)]
    #[case("8S 8H 8D AH AD", 239, HandRankName::FullHouse, HandRankClass::EightsOverAces)]
    #[case("8S 8H 8D KH KD", 240, HandRankName::FullHouse, HandRankClass::EightsOverKings)]
    #[case("8S 8H 8D QH QD", 241, HandRankName::FullHouse, HandRankClass::EightsOverQueens)]
    #[case("8S 8H 8D JH JD", 242, HandRankName::FullHouse, HandRankClass::EightsOverJacks)]
    #[case("8S 8H 8D TH TD", 243, HandRankName::FullHouse, HandRankClass::EightsOverTens)]
    #[case("8S 8H 8D 9H 9D", 244, HandRankName::FullHouse, HandRankClass::EightsOverNines)]
    #[case("8S 8H 8D 7H 7D", 245, HandRankName::FullHouse, HandRankClass::EightsOverSevens)]
    #[case("8S 8H 8D 6S 6D", 246, HandRankName::FullHouse, HandRankClass::EightsOverSixes)]
    #[case("8S 8H 8D 5H 5D", 247, HandRankName::FullHouse, HandRankClass::EightsOverFives)]
    #[case("8S 8H 8D 4H 4D", 248, HandRankName::FullHouse, HandRankClass::EightsOverFours)]
    #[case("8S 8H 8D 3H 3D", 249, HandRankName::FullHouse, HandRankClass::EightsOverTreys)]
    #[case("8S 8H 8D 2H 2D", 250, HandRankName::FullHouse, HandRankClass::EightsOverDeuces)]
    #[case("7S 7H 7D AH AD", 251, HandRankName::FullHouse, HandRankClass::SevensOverAces)]
    #[case("7S 7H 7D KH KD", 252, HandRankName::FullHouse, HandRankClass::SevensOverKings)]
    #[case("7S 7H 7D QH QD", 253, HandRankName::FullHouse, HandRankClass::SevensOverQueens)]
    #[case("7S 7H 7D JH JD", 254, HandRankName::FullHouse, HandRankClass::SevensOverJacks)]
    #[case("7S 7H 7D TH TD", 255, HandRankName::FullHouse, HandRankClass::SevensOverTens)]
    #[case("7S 7H 7D 9H 9D", 256, HandRankName::FullHouse, HandRankClass::SevensOverNines)]
    #[case("7S 7H 7D 8H 8D", 257, HandRankName::FullHouse, HandRankClass::SevensOverEights)]
    #[case("7S 7H 7D 6S 6D", 258, HandRankName::FullHouse, HandRankClass::SevensOverSixes)]
    #[case("7S 7H 7D 5H 5D", 259, HandRankName::FullHouse, HandRankClass::SevensOverFives)]
    #[case("7S 7H 7D 4H 4D", 260, HandRankName::FullHouse, HandRankClass::SevensOverFours)]
    #[case("7S 7H 7D 3H 3D", 261, HandRankName::FullHouse, HandRankClass::SevensOverTreys)]
    #[case("7S 7H 7D 2H 2D", 262, HandRankName::FullHouse, HandRankClass::SevensOverDeuces)]
    #[case("6S 6H 6D AH AD", 263, HandRankName::FullHouse, HandRankClass::SixesOverAces)]
    #[case("6S 6H 6D KH KD", 264, HandRankName::FullHouse, HandRankClass::SixesOverKings)]
    #[case("6S 6H 6D QH QD", 265, HandRankName::FullHouse, HandRankClass::SixesOverQueens)]
    #[case("6S 6H 6D JH JD", 266, HandRankName::FullHouse, HandRankClass::SixesOverJacks)]
    #[case("6S 6H 6D TH TD", 267, HandRankName::FullHouse, HandRankClass::SixesOverTens)]
    #[case("6S 6H 6D 9H 9D", 268, HandRankName::FullHouse, HandRankClass::SixesOverNines)]
    #[case("6S 6H 6D 8H 8D", 269, HandRankName::FullHouse, HandRankClass::SixesOverEights)]
    #[case("6S 6H 6D 7S 7D", 270, HandRankName::FullHouse, HandRankClass::SixesOverSevens)]
    #[case("6S 6H 6D 5H 5D", 271, HandRankName::FullHouse, HandRankClass::SixesOverFives)]
    #[case("6S 6H 6D 4H 4D", 272, HandRankName::FullHouse, HandRankClass::SixesOverFours)]
    #[case("6S 6H 6D 3H 3D", 273, HandRankName::FullHouse, HandRankClass::SixesOverTreys)]
    #[case("6S 6H 6D 2H 2D", 274, HandRankName::FullHouse, HandRankClass::SixesOverDeuces)]
    #[case("5S 5H 5D AH AD", 275, HandRankName::FullHouse, HandRankClass::FivesOverAces)]
    #[case("5S 5H 5D KH KD", 276, HandRankName::FullHouse, HandRankClass::FivesOverKings)]
    #[case("5S 5H 5D QH QD", 277, HandRankName::FullHouse, HandRankClass::FivesOverQueens)]
    #[case("5S 5H 5D JH JD", 278, HandRankName::FullHouse, HandRankClass::FivesOverJacks)]
    #[case("5S 5H 5D TH TD", 279, HandRankName::FullHouse, HandRankClass::FivesOverTens)]
    #[case("5S 5H 5D 9H 9D", 280, HandRankName::FullHouse, HandRankClass::FivesOverNines)]
    #[case("5S 5H 5D 8H 8D", 281, HandRankName::FullHouse, HandRankClass::FivesOverEights)]
    #[case("5S 5H 5D 7S 7D", 282, HandRankName::FullHouse, HandRankClass::FivesOverSevens)]
    #[case("5S 5H 5D 6H 6D", 283, HandRankName::FullHouse, HandRankClass::FivesOverSixes)]
    #[case("5S 5H 5D 4H 4D", 284, HandRankName::FullHouse, HandRankClass::FivesOverFours)]
    #[case("5S 5H 5D 3H 3D", 285, HandRankName::FullHouse, HandRankClass::FivesOverTreys)]
    #[case("5S 5H 5D 2H 2D", 286, HandRankName::FullHouse, HandRankClass::FivesOverDeuces)]
    #[case("4S 4H 4D AH AD", 287, HandRankName::FullHouse, HandRankClass::FoursOverAces)]
    #[case("4S 4H 4D KH KD", 288, HandRankName::FullHouse, HandRankClass::FoursOverKings)]
    #[case("4S 4H 4D QH QD", 289, HandRankName::FullHouse, HandRankClass::FoursOverQueens)]
    #[case("4S 4H 4D JH JD", 290, HandRankName::FullHouse, HandRankClass::FoursOverJacks)]
    #[case("4S 4H 4D TH TD", 291, HandRankName::FullHouse, HandRankClass::FoursOverTens)]
    #[case("4S 4H 4D 9H 9D", 292, HandRankName::FullHouse, HandRankClass::FoursOverNines)]
    #[case("4S 4H 4D 8H 8D", 293, HandRankName::FullHouse, HandRankClass::FoursOverEights)]
    #[case("4S 4H 4D 7S 7D", 294, HandRankName::FullHouse, HandRankClass::FoursOverSevens)]
    #[case("4S 4H 4D 6H 6D", 295, HandRankName::FullHouse, HandRankClass::FoursOverSixes)]
    #[case("4S 4H 4D 5H 5D", 296, HandRankName::FullHouse, HandRankClass::FoursOverFives)]
    #[case("4S 4H 4D 3H 3D", 297, HandRankName::FullHouse, HandRankClass::FoursOverTreys)]
    #[case("4S 4H 4D 2H 2D", 298, HandRankName::FullHouse, HandRankClass::FoursOverDeuces)]
    #[case("3S 3H 3D AH AD", 299, HandRankName::FullHouse, HandRankClass::TreysOverAces)]
    #[case("3S 3H 3D KH KD", 300, HandRankName::FullHouse, HandRankClass::TreysOverKings)]
    #[case("3S 3H 3D QH QD", 301, HandRankName::FullHouse, HandRankClass::TreysOverQueens)]
    #[case("3S 3H 3D JH JD", 302, HandRankName::FullHouse, HandRankClass::TreysOverJacks)]
    #[case("3S 3H 3D TH TD", 303, HandRankName::FullHouse, HandRankClass::TreysOverTens)]
    #[case("3S 3H 3D 9H 9D", 304, HandRankName::FullHouse, HandRankClass::TreysOverNines)]
    #[case("3S 3H 3D 8H 8D", 305, HandRankName::FullHouse, HandRankClass::TreysOverEights)]
    #[case("3S 3H 3D 7S 7D", 306, HandRankName::FullHouse, HandRankClass::TreysOverSevens)]
    #[case("3S 3H 3D 6H 6D", 307, HandRankName::FullHouse, HandRankClass::TreysOverSixes)]
    #[case("3S 3H 3D 5H 5D", 308, HandRankName::FullHouse, HandRankClass::TreysOverFives)]
    #[case("3S 3H 3D 4H 4D", 309, HandRankName::FullHouse, HandRankClass::TreysOverFours)]
    #[case("3S 3H 3D 2H 2D", 310, HandRankName::FullHouse, HandRankClass::TreysOverDeuces)]
    #[case("2S 2H 2D AH AD", 311, HandRankName::FullHouse, HandRankClass::DeucesOverAces)]
    #[case("2S 2H 2D KH KD", 312, HandRankName::FullHouse, HandRankClass::DeucesOverKings)]
    #[case("2S 2H 2D QH QD", 313, HandRankName::FullHouse, HandRankClass::DeucesOverQueens)]
    #[case("2S 2H 2D JH JD", 314, HandRankName::FullHouse, HandRankClass::DeucesOverJacks)]
    #[case("2S 2H 2D TH TD", 315, HandRankName::FullHouse, HandRankClass::DeucesOverTens)]
    #[case("2S 2H 2D 9H 9D", 316, HandRankName::FullHouse, HandRankClass::DeucesOverNines)]
    #[case("2S 2H 2D 8H 8D", 317, HandRankName::FullHouse, HandRankClass::DeucesOverEights)]
    #[case("2S 2H 2D 7S 7D", 318, HandRankName::FullHouse, HandRankClass::DeucesOverSevens)]
    #[case("2S 2H 2D 6H 6D", 319, HandRankName::FullHouse, HandRankClass::DeucesOverSixes)]
    #[case("2S 2H 2D 5H 5D", 320, HandRankName::FullHouse, HandRankClass::DeucesOverFives)]
    #[case("2S 2H 2D 4H 4D", 321, HandRankName::FullHouse, HandRankClass::DeucesOverFours)]
    #[case("2S 2H 2D 3H 3D", 322, HandRankName::FullHouse, HandRankClass::DeucesOverTreys)]
    #[case("AS KS QS JS 9S", 323, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS JS 8S", 324, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS JS 7S", 325, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS JS 6S", 326, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS JS 5S", 327, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS JS 4S", 328, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS JS 3S", 329, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS JS 2S", 330, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS TS 9S", 331, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS TS 8S", 332, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS TS 7S", 333, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS TS 6S", 334, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS TS 5S", 335, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS TS 4S", 336, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS TS 3S", 337, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS TS 2S", 338, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS 9S 8S", 339, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS 9S 7S", 340, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS 9S 6S", 341, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS 9S 5S", 342, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS 9S 4S", 343, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS 9S 3S", 344, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS 9S 2S", 345, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS KS QS 8S 7S", 346, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 8♥ 6♥", 347, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 8♥ 5♥", 348, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 8♥ 4♥", 349, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 8♥ 3♥", 350, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 8♥ 2♥", 351, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 7♥ 6♥", 352, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 7♥ 5♥", 353, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 7♥ 4♥", 354, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 7♥ 3♥", 355, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 7♥ 2♥", 356, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 6♥ 5♥", 357, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 6♥ 4♥", 358, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 6♥ 3♥", 359, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 6♥ 2♥", 360, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 5♥ 4♥", 361, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 5♥ 3♥", 362, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 5♥ 2♥", 363, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 4♥ 3♥", 364, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 4♥ 2♥", 365, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♥ K♥ Q♥ 3♥ 2♥", 366, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ T♧ 9♧", 367, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ T♧ 8♧", 368, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ T♧ 7♧", 369, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ T♧ 6♧", 370, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ T♧ 5♧", 371, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ T♧ 4♧", 372, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ T♧ 3♧", 373, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ T♧ 2♧", 374, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 9♧ 8♧", 375, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 9♧ 7♧", 376, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 9♧ 6♧", 377, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 9♧ 5♧", 378, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 9♧ 4♧", 379, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 9♧ 3♧", 380, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 9♧ 2♧", 381, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 8♧ 7♧", 382, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 8♧ 6♧", 383, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 8♧ 5♧", 384, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 8♧ 4♧", 385, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 8♧ 3♧", 386, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 8♧ 2♧", 387, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 7♧ 6♧", 388, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 7♧ 5♧", 389, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 7♧ 4♧", 390, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 7♧ 3♧", 391, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 7♧ 2♧", 392, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 6♧ 5♧", 393, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 6♧ 4♧", 394, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 6♧ 3♧", 395, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 6♧ 2♧", 396, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 5♧ 4♧", 397, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 5♧ 3♧", 398, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 5♧ 2♧", 399, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 4♧ 3♧", 400, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 4♧ 2♧", 401, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ K♧ J♧ 3♧ 2♧", 402, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 9♦ 8♦", 403, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 9♦ 7♦", 404, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 9♦ 6♦", 405, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 9♦ 5♦", 406, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 9♦ 4♦", 407, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 9♦ 3♦", 408, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 9♦ 2♦", 409, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 8♦ 7♦", 410, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 8♦ 6♦", 411, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 8♦ 5♦", 412, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 8♦ 4♦", 413, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 8♦ 3♦", 414, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 8♦ 2♦", 415, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 7♦ 6♦", 416, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 7♦ 5♦", 417, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 7♦ 4♦", 418, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 7♦ 3♦", 419, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 7♦ 2♦", 420, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 6♦ 5♦", 421, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 6♦ 4♦", 422, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 6♦ 3♦", 423, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 6♦ 2♦", 424, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 5♦ 4♦", 425, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 5♦ 3♦", 426, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 5♦ 2♦", 427, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 4♦ 3♦", 428, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 4♦ 2♦", 429, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ T♦ 3♦ 2♦", 430, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 8♦ 7♦", 431, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 8♦ 6♦", 432, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 8♦ 5♦", 433, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 8♦ 4♦", 434, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 8♦ 3♦", 435, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 8♦ 2♦", 436, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 7♦ 6♦", 437, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 7♦ 5♦", 438, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 7♦ 4♦", 439, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 7♦ 3♦", 440, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 7♦ 2♦", 441, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 6♦ 5♦", 442, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 6♦ 4♦", 443, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 6♦ 3♦", 444, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 6♦ 2♦", 445, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 5♦ 4♦", 446, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 5♦ 3♦", 447, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 5♦ 2♦", 448, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 4♦ 3♦", 449, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 4♦ 2♦", 450, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 9♦ 3♦ 2♦", 451, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 7♦ 6♦", 452, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 7♦ 5♦", 453, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 7♦ 4♦", 454, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 7♦ 3♦", 455, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 7♦ 2♦", 456, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 6♦ 5♦", 457, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 6♦ 4♦", 458, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 6♦ 3♦", 459, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 6♦ 2♦", 460, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 5♦ 4♦", 461, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 5♦ 3♦", 462, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 5♦ 2♦", 463, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 4♦ 3♦", 464, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 4♦ 2♦", 465, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 8♦ 3♦ 2♦", 466, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 6♦ 5♦", 467, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 6♦ 4♦", 468, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 6♦ 3♦", 469, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 6♦ 2♦", 470, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 5♦ 4♦", 471, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 5♦ 3♦", 472, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 5♦ 2♦", 473, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 4♦ 3♦", 474, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 4♦ 2♦", 475, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 7♦ 3♦ 2♦", 476, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 6♦ 5♦ 4♦", 477, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 6♦ 5♦ 3♦", 478, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 6♦ 5♦ 2♦", 479, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 6♦ 4♦ 3♦", 480, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 6♦ 4♦ 2♦", 481, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 6♦ 3♦ 2♦", 482, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 5♦ 4♦ 3♦", 483, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 5♦ 4♦ 2♦", 484, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 5♦ 3♦ 2♦", 485, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ K♦ 4♦ 3♦ 2♦", 486, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ T♧ 9♧", 487, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ T♧ 8♧", 488, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ T♧ 7♧", 489, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ T♧ 6♧", 490, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ T♧ 5♧", 491, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ T♧ 4♧", 492, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ T♧ 3♧", 493, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ T♧ 2♧", 494, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 9♧ 8♧", 495, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 9♧ 7♧", 496, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 9♧ 6♧", 497, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 9♧ 5♧", 498, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 9♧ 4♧", 499, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 9♧ 3♧", 500, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 9♧ 2♧", 501, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 8♧ 7♧", 502, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 8♧ 6♧", 503, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 8♧ 5♧", 504, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 8♧ 4♧", 505, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 8♧ 3♧", 506, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 8♧ 2♧", 507, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 7♧ 6♧", 508, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 7♧ 5♧", 509, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 7♧ 4♧", 510, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 7♧ 3♧", 511, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 7♧ 2♧", 512, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 6♧ 5♧", 513, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 6♧ 4♧", 514, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 6♧ 3♧", 515, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 6♧ 2♧", 516, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 5♧ 4♧", 517, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 5♧ 3♧", 518, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 5♧ 2♧", 519, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 4♧ 3♧", 520, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 4♧ 2♧", 521, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♧ Q♧ J♧ 3♧ 2♧", 522, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 9♦ 8♦", 523, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 9♦ 7♦", 524, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 9♦ 6♦", 525, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 9♦ 5♦", 526, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 9♦ 4♦", 527, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 9♦ 3♦", 528, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 9♦ 2♦", 529, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 8♦ 7♦", 530, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 8♦ 6♦", 531, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 8♦ 5♦", 532, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 8♦ 4♦", 533, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 8♦ 3♦", 534, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 8♦ 2♦", 535, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 7♦ 6♦", 536, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 7♦ 5♦", 537, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 7♦ 4♦", 538, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 7♦ 3♦", 539, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 7♦ 2♦", 540, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 6♦ 5♦", 541, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 6♦ 4♦", 542, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 6♦ 3♦", 543, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 6♦ 2♦", 544, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 5♦ 4♦", 545, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 5♦ 3♦", 546, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 5♦ 2♦", 547, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 4♦ 3♦", 548, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 4♦ 2♦", 549, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ T♦ 3♦ 2♦", 550, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 8♦ 7♦", 551, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 8♦ 6♦", 552, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 8♦ 5♦", 553, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 8♦ 4♦", 554, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 8♦ 3♦", 555, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 8♦ 2♦", 556, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 7♦ 6♦", 557, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 7♦ 5♦", 558, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 7♦ 4♦", 559, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 7♦ 3♦", 560, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 7♦ 2♦", 561, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 6♦ 5♦", 562, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 6♦ 4♦", 563, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 6♦ 3♦", 564, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 6♦ 2♦", 565, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 5♦ 4♦", 566, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 5♦ 3♦", 567, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 5♦ 2♦", 568, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 4♦ 3♦", 569, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 4♦ 2♦", 570, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 9♦ 3♦ 2♦", 571, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 7♦ 6♦", 572, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 7♦ 5♦", 573, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 7♦ 4♦", 574, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 7♦ 3♦", 575, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 7♦ 2♦", 576, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 6♦ 5♦", 577, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 6♦ 4♦", 578, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 6♦ 3♦", 579, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 6♦ 2♦", 580, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 5♦ 4♦", 581, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 5♦ 3♦", 582, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 5♦ 2♦", 583, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 4♦ 3♦", 584, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 4♦ 2♦", 585, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 8♦ 3♦ 2♦", 586, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 6♦ 5♦", 587, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 6♦ 4♦", 588, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 6♦ 3♦", 589, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 6♦ 2♦", 590, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 5♦ 4♦", 591, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 5♦ 3♦", 592, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 5♦ 2♦", 593, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 4♦ 3♦", 594, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 4♦ 2♦", 595, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 7♦ 3♦ 2♦", 596, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 6♦ 5♦ 4♦", 597, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 6♦ 5♦ 3♦", 598, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 6♦ 5♦ 2♦", 599, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 6♦ 4♦ 3♦", 600, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 6♦ 4♦ 2♦", 601, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 6♦ 3♦ 2♦", 602, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 5♦ 4♦ 3♦", 603, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 5♦ 4♦ 2♦", 604, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 5♦ 3♦ 2♦", 605, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ Q♦ 4♦ 3♦ 2♦", 606, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 9♦ 8♦", 607, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 9♦ 7♦", 608, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 9♦ 6♦", 609, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 9♦ 5♦", 610, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 9♦ 4♦", 611, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 9♦ 3♦", 612, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 9♦ 2♦", 613, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 8♦ 7♦", 614, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 8♦ 6♦", 615, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 8♦ 5♦", 616, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 8♦ 4♦", 617, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 8♦ 3♦", 618, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 8♦ 2♦", 619, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 7♦ 6♦", 620, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 7♦ 5♦", 621, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 7♦ 4♦", 622, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 7♦ 3♦", 623, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 7♦ 2♦", 624, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 6♦ 5♦", 625, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 6♦ 4♦", 626, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 6♦ 3♦", 627, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 6♦ 2♦", 628, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 5♦ 4♦", 629, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 5♦ 3♦", 630, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 5♦ 2♦", 631, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 4♦ 3♦", 632, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 4♦ 2♦", 633, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ T♦ 3♦ 2♦", 634, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 8♦ 7♦", 635, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 8♦ 6♦", 636, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 8♦ 5♦", 637, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 8♦ 4♦", 638, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 8♦ 3♦", 639, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 8♦ 2♦", 640, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 7♦ 6♦", 641, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 7♦ 5♦", 642, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 7♦ 4♦", 643, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 7♦ 3♦", 644, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 7♦ 2♦", 645, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 6♦ 5♦", 646, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 6♦ 4♦", 647, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 6♦ 3♦", 648, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 6♦ 2♦", 649, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 5♦ 4♦", 650, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 5♦ 3♦", 651, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 5♦ 2♦", 652, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 4♦ 3♦", 653, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 4♦ 2♦", 654, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 9♦ 3♦ 2♦", 655, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 7♦ 6♦", 656, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 7♦ 5♦", 657, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 7♦ 4♦", 658, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 7♦ 3♦", 659, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 7♦ 2♦", 660, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 6♦ 5♦", 661, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 6♦ 4♦", 662, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 6♦ 3♦", 663, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 6♦ 2♦", 664, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 5♦ 4♦", 665, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 5♦ 3♦", 666, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 5♦ 2♦", 667, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 4♦ 3♦", 668, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 4♦ 2♦", 669, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 8♦ 3♦ 2♦", 670, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 6♦ 5♦", 671, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 6♦ 4♦", 672, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 6♦ 3♦", 673, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 6♦ 2♦", 674, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 5♦ 4♦", 675, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 5♦ 3♦", 676, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 5♦ 2♦", 677, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 4♦ 3♦", 678, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 4♦ 2♦", 679, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 7♦ 3♦ 2♦", 680, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 6♦ 5♦ 4♦", 681, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 6♦ 5♦ 3♦", 682, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 6♦ 5♦ 2♦", 683, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 6♦ 4♦ 3♦", 684, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 6♦ 4♦ 2♦", 685, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 6♦ 3♦ 2♦", 686, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 5♦ 4♦ 3♦", 687, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 5♦ 4♦ 2♦", 688, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 5♦ 3♦ 2♦", 689, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ J♦ 4♦ 3♦ 2♦", 690, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 8♦ 7♦", 691, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 8♦ 6♦", 692, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 8♦ 5♦", 693, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 8♦ 4♦", 694, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 8♦ 3♦", 695, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 8♦ 2♦", 696, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 7♦ 6♦", 697, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 7♦ 5♦", 698, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 7♦ 4♦", 699, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 7♦ 3♦", 700, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 7♦ 2♦", 701, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 6♦ 5♦", 702, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 6♦ 4♦", 703, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 6♦ 3♦", 704, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 6♦ 2♦", 705, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 5♦ 4♦", 706, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 5♦ 3♦", 707, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 5♦ 2♦", 708, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 4♦ 3♦", 709, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 4♦ 2♦", 710, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 9♦ 3♦ 2♦", 711, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 7♦ 6♦", 712, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 7♦ 5♦", 713, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 7♦ 4♦", 714, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 7♦ 3♦", 715, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 7♦ 2♦", 716, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 6♦ 5♦", 717, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 6♦ 4♦", 718, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 6♦ 3♦", 719, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 6♦ 2♦", 720, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 5♦ 4♦", 721, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 5♦ 3♦", 722, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 5♦ 2♦", 723, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 4♦ 3♦", 724, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 4♦ 2♦", 725, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 8♦ 3♦ 2♦", 726, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 6♦ 5♦", 727, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 6♦ 4♦", 728, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 6♦ 3♦", 729, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 6♦ 2♦", 730, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 5♦ 4♦", 731, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 5♦ 3♦", 732, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 5♦ 2♦", 733, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 4♦ 3♦", 734, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 4♦ 2♦", 735, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 7♦ 3♦ 2♦", 736, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 6♦ 5♦ 4♦", 737, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 6♦ 5♦ 3♦", 738, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 6♦ 5♦ 2♦", 739, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 6♦ 4♦ 3♦", 740, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 6♦ 4♦ 2♦", 741, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 6♦ 3♦ 2♦", 742, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 5♦ 4♦ 3♦", 743, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 5♦ 4♦ 2♦", 744, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 5♦ 3♦ 2♦", 745, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ T♦ 4♦ 3♦ 2♦", 746, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 7♦ 6♦", 747, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 7♦ 5♦", 748, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 7♦ 4♦", 749, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 7♦ 3♦", 750, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 7♦ 2♦", 751, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 6♦ 5♦", 752, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 6♦ 4♦", 753, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 6♦ 3♦", 754, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 6♦ 2♦", 755, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 5♦ 4♦", 756, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 5♦ 3♦", 757, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 5♦ 2♦", 758, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 4♦ 3♦", 759, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 4♦ 2♦", 760, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 8♦ 3♦ 2♦", 761, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 6♦ 5♦", 762, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 6♦ 4♦", 763, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 6♦ 3♦", 764, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 6♦ 2♦", 765, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 5♦ 4♦", 766, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 5♦ 3♦", 767, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 5♦ 2♦", 768, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 4♦ 3♦", 769, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 4♦ 2♦", 770, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 7♦ 3♦ 2♦", 771, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 6♦ 5♦ 4♦", 772, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 6♦ 5♦ 3♦", 773, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 6♦ 5♦ 2♦", 774, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 6♦ 4♦ 3♦", 775, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 6♦ 4♦ 2♦", 776, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 6♦ 3♦ 2♦", 777, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 5♦ 4♦ 3♦", 778, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 5♦ 4♦ 2♦", 779, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 5♦ 3♦ 2♦", 780, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 9♦ 4♦ 3♦ 2♦", 781, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 6♦ 5♦", 782, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 6♦ 4♦", 783, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 6♦ 3♦", 784, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 6♦ 2♦", 785, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 5♦ 4♦", 786, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 5♦ 3♦", 787, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 5♦ 2♦", 788, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 4♦ 3♦", 789, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 4♦ 2♦", 790, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 7♦ 3♦ 2♦", 791, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 6♦ 5♦ 4♦", 792, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 6♦ 5♦ 3♦", 793, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 6♦ 5♦ 2♦", 794, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 6♦ 4♦ 3♦", 795, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 6♦ 4♦ 2♦", 796, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 6♦ 3♦ 2♦", 797, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 5♦ 4♦ 3♦", 798, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 5♦ 4♦ 2♦", 799, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 5♦ 3♦ 2♦", 800, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 8♦ 4♦ 3♦ 2♦", 801, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 6♦ 5♦ 4♦", 802, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 6♦ 5♦ 3♦", 803, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 6♦ 5♦ 2♦", 804, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 6♦ 4♦ 3♦", 805, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 6♦ 4♦ 2♦", 806, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 6♦ 3♦ 2♦", 807, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 5♦ 4♦ 3♦", 808, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 5♦ 4♦ 2♦", 809, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 5♦ 3♦ 2♦", 810, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 7♦ 4♦ 3♦ 2♦", 811, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 6♦ 5♦ 4♦ 3♦", 812, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 6♦ 5♦ 4♦ 2♦", 813, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("A♦ 6♦ 5♦ 3♦ 2♦", 814, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("AS 6S 4S 3S 2S", 815, HandRankName::Flush, HandRankClass::AceHighFlush)]
    #[case("K♥ Q♥ J♥ T♥ 8♥", 816, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ T♥ 7♥", 817, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ T♥ 6♥", 818, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ T♥ 5♥", 819, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ T♥ 4♥", 820, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ T♥ 3♥", 821, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ T♥ 2♥", 822, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 9♥ 8♥", 823, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 9♥ 7♥", 824, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 9♥ 6♥", 825, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 9♥ 5♥", 826, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 9♥ 4♥", 827, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 9♥ 3♥", 828, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 9♥ 2♥", 829, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 8♥ 7♥", 830, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 8♥ 6♥", 831, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 8♥ 5♥", 832, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 8♥ 4♥", 833, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 8♥ 3♥", 834, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 8♥ 2♥", 835, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 7♥ 6♥", 836, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 7♥ 5♥", 837, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 7♥ 4♥", 838, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 7♥ 3♥", 839, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 7♥ 2♥", 840, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 6♥ 5♥", 841, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 6♥ 4♥", 842, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 6♥ 3♥", 843, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 6♥ 2♥", 844, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 5♥ 4♥", 845, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 5♥ 3♥", 846, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 5♥ 2♥", 847, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 4♥ 3♥", 848, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 4♥ 2♥", 849, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ J♥ 3♥ 2♥", 850, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 9♥ 8♥", 851, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 9♥ 7♥", 852, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 9♥ 6♥", 853, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 9♥ 5♥", 854, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 9♥ 4♥", 855, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 9♥ 3♥", 856, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 9♥ 2♥", 857, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 8♥ 7♥", 858, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 8♥ 6♥", 859, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 8♥ 5♥", 860, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 8♥ 4♥", 861, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 8♥ 3♥", 862, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 8♥ 2♥", 863, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 7♥ 6♥", 864, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 7♥ 5♥", 865, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 7♥ 4♥", 866, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 7♥ 3♥", 867, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 7♥ 2♥", 868, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 6♥ 5♥", 869, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 6♥ 4♥", 870, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 6♥ 3♥", 871, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 6♥ 2♥", 872, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 5♥ 4♥", 873, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 5♥ 3♥", 874, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 5♥ 2♥", 875, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 4♥ 3♥", 876, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 4♥ 2♥", 877, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ T♥ 3♥ 2♥", 878, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 8♥ 7♥", 879, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 8♥ 6♥", 880, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 8♥ 5♥", 881, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 8♥ 4♥", 882, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 8♥ 3♥", 883, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 8♥ 2♥", 884, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 7♥ 6♥", 885, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 7♥ 5♥", 886, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 7♥ 4♥", 887, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 7♥ 3♥", 888, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 7♥ 2♥", 889, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 6♥ 5♥", 890, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 6♥ 4♥", 891, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 6♥ 3♥", 892, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 6♥ 2♥", 893, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 5♥ 4♥", 894, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 5♥ 3♥", 895, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 5♥ 2♥", 896, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 4♥ 3♥", 897, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 4♥ 2♥", 898, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 9♥ 3♥ 2♥", 899, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 7♥ 6♥", 900, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 7♥ 5♥", 901, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 7♥ 4♥", 902, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 7♥ 3♥", 903, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 7♥ 2♥", 904, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 6♥ 5♥", 905, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 6♥ 4♥", 906, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 6♥ 3♥", 907, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 6♥ 2♥", 908, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 5♥ 4♥", 909, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 5♥ 3♥", 910, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 5♥ 2♥", 911, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 4♥ 3♥", 912, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 4♥ 2♥", 913, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 8♥ 3♥ 2♥", 914, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 6♥ 5♥", 915, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 6♥ 4♥", 916, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 6♥ 3♥", 917, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 6♥ 2♥", 918, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 5♥ 4♥", 919, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 5♥ 3♥", 920, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 5♥ 2♥", 921, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 4♥ 3♥", 922, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 4♥ 2♥", 923, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 7♥ 3♥ 2♥", 924, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 6♥ 5♥ 4♥", 925, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 6♥ 5♥ 3♥", 926, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 6♥ 5♥ 2♥", 927, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 6♥ 4♥ 3♥", 928, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 6♥ 4♥ 2♥", 929, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 6♥ 3♥ 2♥", 930, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 5♥ 4♥ 3♥", 931, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 5♥ 4♥ 2♥", 932, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 5♥ 3♥ 2♥", 933, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ Q♥ 4♥ 3♥ 2♥", 934, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 9♥ 8♥", 935, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 9♥ 7♥", 936, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 9♥ 6♥", 937, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 9♥ 5♥", 938, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 9♥ 4♥", 939, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 9♥ 3♥", 940, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 9♥ 2♥", 941, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 8♥ 7♥", 942, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 8♥ 6♥", 943, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 8♥ 5♥", 944, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 8♥ 4♥", 945, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 8♥ 3♥", 946, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 8♥ 2♥", 947, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 7♥ 6♥", 948, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 7♥ 5♥", 949, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 7♥ 4♥", 950, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 7♥ 3♥", 951, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 7♥ 2♥", 952, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 6♥ 5♥", 953, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 6♥ 4♥", 954, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 6♥ 3♥", 955, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 6♥ 2♥", 956, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 5♥ 4♥", 957, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 5♥ 3♥", 958, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 5♥ 2♥", 959, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 4♥ 3♥", 960, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 4♥ 2♥", 961, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ T♥ 3♥ 2♥", 962, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 8♥ 7♥", 963, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 8♥ 6♥", 964, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 8♥ 5♥", 965, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 8♥ 4♥", 966, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 8♥ 3♥", 967, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 8♥ 2♥", 968, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 7♥ 6♥", 969, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 7♥ 5♥", 970, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 7♥ 4♥", 971, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 7♥ 3♥", 972, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 7♥ 2♥", 973, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 6♥ 5♥", 974, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 6♥ 4♥", 975, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 6♥ 3♥", 976, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 6♥ 2♥", 977, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 5♥ 4♥", 978, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 5♥ 3♥", 979, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 5♥ 2♥", 980, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 4♥ 3♥", 981, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 4♥ 2♥", 982, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 9♥ 3♥ 2♥", 983, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 7♥ 6♥", 984, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 7♥ 5♥", 985, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 7♥ 4♥", 986, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 7♥ 3♥", 987, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 7♥ 2♥", 988, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 6♥ 5♥", 989, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 6♥ 4♥", 990, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 6♥ 3♥", 991, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 6♥ 2♥", 992, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 5♥ 4♥", 993, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 5♥ 3♥", 994, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 5♥ 2♥", 995, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 4♥ 3♥", 996, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 4♥ 2♥", 997, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 8♥ 3♥ 2♥", 998, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 6♥ 5♥", 999, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 6♥ 4♥", 1000, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 6♥ 3♥", 1001, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 6♥ 2♥", 1002, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 5♥ 4♥", 1003, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 5♥ 3♥", 1004, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 5♥ 2♥", 1005, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 4♥ 3♥", 1006, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 4♥ 2♥", 1007, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 7♥ 3♥ 2♥", 1008, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 6♥ 5♥ 4♥", 1009, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 6♥ 5♥ 3♥", 1010, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 6♥ 5♥ 2♥", 1011, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 6♥ 4♥ 3♥", 1012, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 6♥ 4♥ 2♥", 1013, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 6♥ 3♥ 2♥", 1014, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 5♥ 4♥ 3♥", 1015, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 5♥ 4♥ 2♥", 1016, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 5♥ 3♥ 2♥", 1017, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ J♥ 4♥ 3♥ 2♥", 1018, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 8♥ 7♥", 1019, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 8♥ 6♥", 1020, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 8♥ 5♥", 1021, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 8♥ 4♥", 1022, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 8♥ 3♥", 1023, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 8♥ 2♥", 1024, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 7♥ 6♥", 1025, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 7♥ 5♥", 1026, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 7♥ 4♥", 1027, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 7♥ 3♥", 1028, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 7♥ 2♥", 1029, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 6♥ 5♥", 1030, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 6♥ 4♥", 1031, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 6♥ 3♥", 1032, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 6♥ 2♥", 1033, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 5♥ 4♥", 1034, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 5♥ 3♥", 1035, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 5♥ 2♥", 1036, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 4♥ 3♥", 1037, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 4♥ 2♥", 1038, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 9♥ 3♥ 2♥", 1039, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 7♥ 6♥", 1040, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 7♥ 5♥", 1041, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 7♥ 4♥", 1042, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 7♥ 3♥", 1043, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 7♥ 2♥", 1044, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 6♥ 5♥", 1045, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 6♥ 4♥", 1046, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 6♥ 3♥", 1047, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 6♥ 2♥", 1048, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 5♥ 4♥", 1049, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 5♥ 3♥", 1050, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 5♥ 2♥", 1051, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 4♥ 3♥", 1052, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 4♥ 2♥", 1053, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 8♥ 3♥ 2♥", 1054, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 6♥ 5♥", 1055, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 6♥ 4♥", 1056, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 6♥ 3♥", 1057, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 6♥ 2♥", 1058, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 5♥ 4♥", 1059, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 5♥ 3♥", 1060, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 5♥ 2♥", 1061, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 4♥ 3♥", 1062, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 4♥ 2♥", 1063, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 7♥ 3♥ 2♥", 1064, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 6♥ 5♥ 4♥", 1065, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 6♥ 5♥ 3♥", 1066, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 6♥ 5♥ 2♥", 1067, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 6♥ 4♥ 3♥", 1068, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 6♥ 4♥ 2♥", 1069, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 6♥ 3♥ 2♥", 1070, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 5♥ 4♥ 3♥", 1071, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 5♥ 4♥ 2♥", 1072, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 5♥ 3♥ 2♥", 1073, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ T♥ 4♥ 3♥ 2♥", 1074, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 7♥ 6♥", 1075, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 7♥ 5♥", 1076, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 7♥ 4♥", 1077, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 7♥ 3♥", 1078, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 7♥ 2♥", 1079, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 6♥ 5♥", 1080, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 6♥ 4♥", 1081, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 6♥ 3♥", 1082, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 6♥ 2♥", 1083, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 5♥ 4♥", 1084, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 5♥ 3♥", 1085, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 5♥ 2♥", 1086, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 4♥ 3♥", 1087, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 4♥ 2♥", 1088, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 8♥ 3♥ 2♥", 1089, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 6♥ 5♥", 1090, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 6♥ 4♥", 1091, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 6♥ 3♥", 1092, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 6♥ 2♥", 1093, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 5♥ 4♥", 1094, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 5♥ 3♥", 1095, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 5♥ 2♥", 1096, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 4♥ 3♥", 1097, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 4♥ 2♥", 1098, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 7♥ 3♥ 2♥", 1099, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 6♥ 5♥ 4♥", 1100, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 6♥ 5♥ 3♥", 1101, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 6♥ 5♥ 2♥", 1102, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 6♥ 4♥ 3♥", 1103, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 6♥ 4♥ 2♥", 1104, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 6♥ 3♥ 2♥", 1105, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 5♥ 4♥ 3♥", 1106, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 5♥ 4♥ 2♥", 1107, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 5♥ 3♥ 2♥", 1108, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 9♥ 4♥ 3♥ 2♥", 1109, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 6♥ 5♥", 1110, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 6♥ 4♥", 1111, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 6♥ 3♥", 1112, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 6♥ 2♥", 1113, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 5♥ 4♥", 1114, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 5♥ 3♥", 1115, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 5♥ 2♥", 1116, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 4♥ 3♥", 1117, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 4♥ 2♥", 1118, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 7♥ 3♥ 2♥", 1119, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 6♥ 5♥ 4♥", 1120, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 6♥ 5♥ 3♥", 1121, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 6♥ 5♥ 2♥", 1122, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 6♥ 4♥ 3♥", 1123, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 6♥ 4♥ 2♥", 1124, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 6♥ 3♥ 2♥", 1125, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 5♥ 4♥ 3♥", 1126, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 5♥ 4♥ 2♥", 1127, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 5♥ 3♥ 2♥", 1128, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 8♥ 4♥ 3♥ 2♥", 1129, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 6♥ 5♥ 4♥", 1130, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 6♥ 5♥ 3♥", 1131, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 6♥ 5♥ 2♥", 1132, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 6♥ 4♥ 3♥", 1133, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 6♥ 4♥ 2♥", 1134, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 6♥ 3♥ 2♥", 1135, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 5♥ 4♥ 3♥", 1136, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 5♥ 4♥ 2♥", 1137, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 5♥ 3♥ 2♥", 1138, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 7♥ 4♥ 3♥ 2♥", 1139, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 6♥ 5♥ 4♥ 3♥", 1140, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 6♥ 5♥ 4♥ 2♥", 1141, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 6♥ 5♥ 3♥ 2♥", 1142, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("K♥ 6♥ 4♥ 3♥ 2♥", 1143, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("KC 5C 4C 3C 2C", 1144, HandRankName::Flush, HandRankClass::KingHighFlush)]
    #[case("Q♣ J♣ T♣ 9♣ 7♣", 1145, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 9♣ 6♣", 1146, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 9♣ 5♣", 1147, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 9♣ 4♣", 1148, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 9♣ 3♣", 1149, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 9♣ 2♣", 1150, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 8♣ 7♣", 1151, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 8♣ 6♣", 1152, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 8♣ 5♣", 1153, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 8♣ 4♣", 1154, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 8♣ 3♣", 1155, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 8♣ 2♣", 1156, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 7♣ 6♣", 1157, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 7♣ 5♣", 1158, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 7♣ 4♣", 1159, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 7♣ 3♣", 1160, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 7♣ 2♣", 1161, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 6♣ 5♣", 1162, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 6♣ 4♣", 1163, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 6♣ 3♣", 1164, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 6♣ 2♣", 1165, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 5♣ 4♣", 1166, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 5♣ 3♣", 1167, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 5♣ 2♣", 1168, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 4♣ 3♣", 1169, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 4♣ 2♣", 1170, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ T♣ 3♣ 2♣", 1171, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 8♣ 7♣", 1172, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 8♣ 6♣", 1173, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 8♣ 5♣", 1174, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 8♣ 4♣", 1175, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 8♣ 3♣", 1176, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 8♣ 2♣", 1177, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 7♣ 6♣", 1178, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 7♣ 5♣", 1179, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 7♣ 4♣", 1180, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 7♣ 3♣", 1181, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 7♣ 2♣", 1182, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 6♣ 5♣", 1183, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 6♣ 4♣", 1184, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 6♣ 3♣", 1185, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 6♣ 2♣", 1186, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 5♣ 4♣", 1187, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 5♣ 3♣", 1188, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 5♣ 2♣", 1189, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 4♣ 3♣", 1190, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 4♣ 2♣", 1191, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 9♣ 3♣ 2♣", 1192, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 7♣ 6♣", 1193, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 7♣ 5♣", 1194, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 7♣ 4♣", 1195, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 7♣ 3♣", 1196, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 7♣ 2♣", 1197, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 6♣ 5♣", 1198, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 6♣ 4♣", 1199, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 6♣ 3♣", 1200, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 6♣ 2♣", 1201, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 5♣ 4♣", 1202, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 5♣ 3♣", 1203, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 5♣ 2♣", 1204, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 4♣ 3♣", 1205, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 4♣ 2♣", 1206, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 8♣ 3♣ 2♣", 1207, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 6♣ 5♣", 1208, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 6♣ 4♣", 1209, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 6♣ 3♣", 1210, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 6♣ 2♣", 1211, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 5♣ 4♣", 1212, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 5♣ 3♣", 1213, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 5♣ 2♣", 1214, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 4♣ 3♣", 1215, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 4♣ 2♣", 1216, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 7♣ 3♣ 2♣", 1217, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 6♣ 5♣ 4♣", 1218, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 6♣ 5♣ 3♣", 1219, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 6♣ 5♣ 2♣", 1220, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 6♣ 4♣ 3♣", 1221, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 6♣ 4♣ 2♣", 1222, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 6♣ 3♣ 2♣", 1223, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 5♣ 4♣ 3♣", 1224, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 5♣ 4♣ 2♣", 1225, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 5♣ 3♣ 2♣", 1226, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ J♣ 4♣ 3♣ 2♣", 1227, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 8♣ 7♣", 1228, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 8♣ 6♣", 1229, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 8♣ 5♣", 1230, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 8♣ 4♣", 1231, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 8♣ 3♣", 1232, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 8♣ 2♣", 1233, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 7♣ 6♣", 1234, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 7♣ 5♣", 1235, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 7♣ 4♣", 1236, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 7♣ 3♣", 1237, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 7♣ 2♣", 1238, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 6♣ 5♣", 1239, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 6♣ 4♣", 1240, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 6♣ 3♣", 1241, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 6♣ 2♣", 1242, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 5♣ 4♣", 1243, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 5♣ 3♣", 1244, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 5♣ 2♣", 1245, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 4♣ 3♣", 1246, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 4♣ 2♣", 1247, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 9♣ 3♣ 2♣", 1248, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 7♣ 6♣", 1249, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 7♣ 5♣", 1250, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 7♣ 4♣", 1251, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 7♣ 3♣", 1252, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 7♣ 2♣", 1253, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 6♣ 5♣", 1254, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 6♣ 4♣", 1255, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 6♣ 3♣", 1256, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 6♣ 2♣", 1257, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 5♣ 4♣", 1258, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 5♣ 3♣", 1259, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 5♣ 2♣", 1260, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 4♣ 3♣", 1261, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 4♣ 2♣", 1262, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 8♣ 3♣ 2♣", 1263, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 6♣ 5♣", 1264, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 6♣ 4♣", 1265, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 6♣ 3♣", 1266, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 6♣ 2♣", 1267, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 5♣ 4♣", 1268, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 5♣ 3♣", 1269, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 5♣ 2♣", 1270, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 4♣ 3♣", 1271, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 4♣ 2♣", 1272, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 7♣ 3♣ 2♣", 1273, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 6♣ 5♣ 4♣", 1274, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 6♣ 5♣ 3♣", 1275, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 6♣ 5♣ 2♣", 1276, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 6♣ 4♣ 3♣", 1277, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 6♣ 4♣ 2♣", 1278, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 6♣ 3♣ 2♣", 1279, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 5♣ 4♣ 3♣", 1280, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 5♣ 4♣ 2♣", 1281, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 5♣ 3♣ 2♣", 1282, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ T♣ 4♣ 3♣ 2♣", 1283, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 7♣ 6♣", 1284, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 7♣ 5♣", 1285, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 7♣ 4♣", 1286, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 7♣ 3♣", 1287, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 7♣ 2♣", 1288, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 6♣ 5♣", 1289, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 6♣ 4♣", 1290, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 6♣ 3♣", 1291, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 6♣ 2♣", 1292, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 5♣ 4♣", 1293, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 5♣ 3♣", 1294, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 5♣ 2♣", 1295, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 4♣ 3♣", 1296, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 4♣ 2♣", 1297, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 8♣ 3♣ 2♣", 1298, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 6♣ 5♣", 1299, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 6♣ 4♣", 1300, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 6♣ 3♣", 1301, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 6♣ 2♣", 1302, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 5♣ 4♣", 1303, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 5♣ 3♣", 1304, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 5♣ 2♣", 1305, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 4♣ 3♣", 1306, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 4♣ 2♣", 1307, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 7♣ 3♣ 2♣", 1308, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 6♣ 5♣ 4♣", 1309, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 6♣ 5♣ 3♣", 1310, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 6♣ 5♣ 2♣", 1311, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 6♣ 4♣ 3♣", 1312, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 6♣ 4♣ 2♣", 1313, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 6♣ 3♣ 2♣", 1314, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 5♣ 4♣ 3♣", 1315, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 5♣ 4♣ 2♣", 1316, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 5♣ 3♣ 2♣", 1317, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 9♣ 4♣ 3♣ 2♣", 1318, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 6♣ 5♣", 1319, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 6♣ 4♣", 1320, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 6♣ 3♣", 1321, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 6♣ 2♣", 1322, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 5♣ 4♣", 1323, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 5♣ 3♣", 1324, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 5♣ 2♣", 1325, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 4♣ 3♣", 1326, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 4♣ 2♣", 1327, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 7♣ 3♣ 2♣", 1328, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 6♣ 5♣ 4♣", 1329, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 6♣ 5♣ 3♣", 1330, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 6♣ 5♣ 2♣", 1331, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 6♣ 4♣ 3♣", 1332, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 6♣ 4♣ 2♣", 1333, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 6♣ 3♣ 2♣", 1334, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 5♣ 4♣ 3♣", 1335, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 5♣ 4♣ 2♣", 1336, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 5♣ 3♣ 2♣", 1337, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 8♣ 4♣ 3♣ 2♣", 1338, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 6♣ 5♣ 4♣", 1339, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 6♣ 5♣ 3♣", 1340, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 6♣ 5♣ 2♣", 1341, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 6♣ 4♣ 3♣", 1342, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 6♣ 4♣ 2♣", 1343, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 6♣ 3♣ 2♣", 1344, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 5♣ 4♣ 3♣", 1345, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 5♣ 4♣ 2♣", 1346, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 5♣ 3♣ 2♣", 1347, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 7♣ 4♣ 3♣ 2♣", 1348, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 6♣ 5♣ 4♣ 3♣", 1349, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 6♣ 5♣ 4♣ 2♣", 1350, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 6♣ 5♣ 3♣ 2♣", 1351, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 6♣ 4♣ 3♣ 2♣", 1352, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("Q♣ 5♣ 4♣ 3♣ 2♣", 1353, HandRankName::Flush, HandRankClass::QueenHighFlush)]
    #[case("J♠ T♠ 9♠ 8♠ 6♠", 1354, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 8♠ 5♠", 1355, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 8♠ 4♠", 1356, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 8♠ 3♠", 1357, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 8♠ 2♠", 1358, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 7♠ 6♠", 1359, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 7♠ 5♠", 1360, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 7♠ 4♠", 1361, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 7♠ 3♠", 1362, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 7♠ 2♠", 1363, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 6♠ 5♠", 1364, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 6♠ 4♠", 1365, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 6♠ 3♠", 1366, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 6♠ 2♠", 1367, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 5♠ 4♠", 1368, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 5♠ 3♠", 1369, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 5♠ 2♠", 1370, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 4♠ 3♠", 1371, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 4♠ 2♠", 1372, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 9♠ 3♠ 2♠", 1373, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 7♠ 6♠", 1374, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 7♠ 5♠", 1375, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 7♠ 4♠", 1376, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 7♠ 3♠", 1377, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 7♠ 2♠", 1378, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 6♠ 5♠", 1379, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 6♠ 4♠", 1380, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 6♠ 3♠", 1381, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 6♠ 2♠", 1382, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 5♠ 4♠", 1383, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 5♠ 3♠", 1384, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 5♠ 2♠", 1385, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 4♠ 3♠", 1386, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 4♠ 2♠", 1387, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 8♠ 3♠ 2♠", 1388, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 6♠ 5♠", 1389, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 6♠ 4♠", 1390, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 6♠ 3♠", 1391, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 6♠ 2♠", 1392, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 5♠ 4♠", 1393, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 5♠ 3♠", 1394, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 5♠ 2♠", 1395, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 4♠ 3♠", 1396, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 4♠ 2♠", 1397, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 7♠ 3♠ 2♠", 1398, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 6♠ 5♠ 4♠", 1399, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 6♠ 5♠ 3♠", 1400, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 6♠ 5♠ 2♠", 1401, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 6♠ 4♠ 3♠", 1402, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 6♠ 4♠ 2♠", 1403, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 6♠ 3♠ 2♠", 1404, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 5♠ 4♠ 3♠", 1405, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 5♠ 4♠ 2♠", 1406, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 5♠ 3♠ 2♠", 1407, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ T♠ 4♠ 3♠ 2♠", 1408, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 7♠ 6♠", 1409, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 7♠ 5♠", 1410, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 7♠ 4♠", 1411, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 7♠ 3♠", 1412, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 7♠ 2♠", 1413, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 6♠ 5♠", 1414, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 6♠ 4♠", 1415, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 6♠ 3♠", 1416, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 6♠ 2♠", 1417, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 5♠ 4♠", 1418, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 5♠ 3♠", 1419, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 5♠ 2♠", 1420, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 4♠ 3♠", 1421, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 4♠ 2♠", 1422, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 8♠ 3♠ 2♠", 1423, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 6♠ 5♠", 1424, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 6♠ 4♠", 1425, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 6♠ 3♠", 1426, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 6♠ 2♠", 1427, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 5♠ 4♠", 1428, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 5♠ 3♠", 1429, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 5♠ 2♠", 1430, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 4♠ 3♠", 1431, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 4♠ 2♠", 1432, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 7♠ 3♠ 2♠", 1433, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 6♠ 5♠ 4♠", 1434, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 6♠ 5♠ 3♠", 1435, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 6♠ 5♠ 2♠", 1436, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 6♠ 4♠ 3♠", 1437, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 6♠ 4♠ 2♠", 1438, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 6♠ 3♠ 2♠", 1439, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 5♠ 4♠ 3♠", 1440, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 5♠ 4♠ 2♠", 1441, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 5♠ 3♠ 2♠", 1442, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 9♠ 4♠ 3♠ 2♠", 1443, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 6♠ 5♠", 1444, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 6♠ 4♠", 1445, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 6♠ 3♠", 1446, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 6♠ 2♠", 1447, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 5♠ 4♠", 1448, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 5♠ 3♠", 1449, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 5♠ 2♠", 1450, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 4♠ 3♠", 1451, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 4♠ 2♠", 1452, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 7♠ 3♠ 2♠", 1453, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 6♠ 5♠ 4♠", 1454, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 6♠ 5♠ 3♠", 1455, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 6♠ 5♠ 2♠", 1456, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 6♠ 4♠ 3♠", 1457, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 6♠ 4♠ 2♠", 1458, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 6♠ 3♠ 2♠", 1459, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 5♠ 4♠ 3♠", 1460, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 5♠ 4♠ 2♠", 1461, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 5♠ 3♠ 2♠", 1462, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 8♠ 4♠ 3♠ 2♠", 1463, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 6♠ 5♠ 4♠", 1464, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 6♠ 5♠ 3♠", 1465, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 6♠ 5♠ 2♠", 1466, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 6♠ 4♠ 3♠", 1467, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 6♠ 4♠ 2♠", 1468, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 6♠ 3♠ 2♠", 1469, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 5♠ 4♠ 3♠", 1470, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 5♠ 4♠ 2♠", 1471, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 5♠ 3♠ 2♠", 1472, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 7♠ 4♠ 3♠ 2♠", 1473, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 6♠ 5♠ 4♠ 3♠", 1474, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 6♠ 5♠ 4♠ 2♠", 1475, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 6♠ 5♠ 3♠ 2♠", 1476, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 6♠ 4♠ 3♠ 2♠", 1477, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("J♠ 5♠ 4♠ 3♠ 2♠", 1478, HandRankName::Flush, HandRankClass::JackHighFlush)]
    #[case("T♦ 9♦ 8♦ 7♦ 5♦", 1479, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 7♦ 4♦", 1480, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 7♦ 3♦", 1481, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 7♦ 2♦", 1482, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 6♦ 5♦", 1483, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 6♦ 4♦", 1484, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 6♦ 3♦", 1485, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 6♦ 2♦", 1486, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 5♦ 4♦", 1487, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 5♦ 3♦", 1488, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 5♦ 2♦", 1489, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 4♦ 3♦", 1490, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 4♦ 2♦", 1491, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 8♦ 3♦ 2♦", 1492, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 6♦ 5♦", 1493, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 6♦ 4♦", 1494, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 6♦ 3♦", 1495, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 6♦ 2♦", 1496, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 5♦ 4♦", 1497, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 5♦ 3♦", 1498, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 5♦ 2♦", 1499, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 4♦ 3♦", 1500, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 4♦ 2♦", 1501, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 7♦ 3♦ 2♦", 1502, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 6♦ 5♦ 4♦", 1503, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 6♦ 5♦ 3♦", 1504, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 6♦ 5♦ 2♦", 1505, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 6♦ 4♦ 3♦", 1506, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 6♦ 4♦ 2♦", 1507, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 6♦ 3♦ 2♦", 1508, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 5♦ 4♦ 3♦", 1509, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 5♦ 4♦ 2♦", 1510, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 5♦ 3♦ 2♦", 1511, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 9♦ 4♦ 3♦ 2♦", 1512, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 6♦ 5♦", 1513, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 6♦ 4♦", 1514, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 6♦ 3♦", 1515, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 6♦ 2♦", 1516, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 5♦ 4♦", 1517, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 5♦ 3♦", 1518, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 5♦ 2♦", 1519, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 4♦ 3♦", 1520, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 4♦ 2♦", 1521, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 7♦ 3♦ 2♦", 1522, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 6♦ 5♦ 4♦", 1523, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 6♦ 5♦ 3♦", 1524, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 6♦ 5♦ 2♦", 1525, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 6♦ 4♦ 3♦", 1526, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 6♦ 4♦ 2♦", 1527, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 6♦ 3♦ 2♦", 1528, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 5♦ 4♦ 3♦", 1529, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 5♦ 4♦ 2♦", 1530, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 5♦ 3♦ 2♦", 1531, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 8♦ 4♦ 3♦ 2♦", 1532, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 6♦ 5♦ 4♦", 1533, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 6♦ 5♦ 3♦", 1534, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 6♦ 5♦ 2♦", 1535, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 6♦ 4♦ 3♦", 1536, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 6♦ 4♦ 2♦", 1537, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 6♦ 3♦ 2♦", 1538, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 5♦ 4♦ 3♦", 1539, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 5♦ 4♦ 2♦", 1540, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 5♦ 3♦ 2♦", 1541, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 7♦ 4♦ 3♦ 2♦", 1542, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 6♦ 5♦ 4♦ 3♦", 1543, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 6♦ 5♦ 4♦ 2♦", 1544, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 6♦ 5♦ 3♦ 2♦", 1545, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 6♦ 4♦ 3♦ 2♦", 1546, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("T♦ 5♦ 4♦ 3♦ 2♦", 1547, HandRankName::Flush, HandRankClass::TenHighFlush)]
    #[case("9♥ 8♥ 7♥ 6♥ 4♥", 1548, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 7♥ 6♥ 3♥", 1549, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 7♥ 6♥ 2♥", 1550, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 7♥ 5♥ 4♥", 1551, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 7♥ 5♥ 3♥", 1552, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 7♥ 5♥ 2♥", 1553, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 7♥ 4♥ 3♥", 1554, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 7♥ 4♥ 2♥", 1555, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 7♥ 3♥ 2♥", 1556, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 6♥ 5♥ 4♥", 1557, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 6♥ 5♥ 3♥", 1558, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 6♥ 5♥ 2♥", 1559, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 6♥ 4♥ 3♥", 1560, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 6♥ 4♥ 2♥", 1561, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 6♥ 3♥ 2♥", 1562, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 5♥ 4♥ 3♥", 1563, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 5♥ 4♥ 2♥", 1564, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 5♥ 3♥ 2♥", 1565, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 8♥ 4♥ 3♥ 2♥", 1566, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 6♥ 5♥ 4♥", 1567, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 6♥ 5♥ 3♥", 1568, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 6♥ 5♥ 2♥", 1569, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 6♥ 4♥ 3♥", 1570, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 6♥ 4♥ 2♥", 1571, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 6♥ 3♥ 2♥", 1572, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 5♥ 4♥ 3♥", 1573, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 5♥ 4♥ 2♥", 1574, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 5♥ 3♥ 2♥", 1575, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 7♥ 4♥ 3♥ 2♥", 1576, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 6♥ 5♥ 4♥ 3♥", 1577, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 6♥ 5♥ 4♥ 2♥", 1578, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 6♥ 5♥ 3♥ 2♥", 1579, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 6♥ 4♥ 3♥ 2♥", 1580, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("9♥ 5♥ 4♥ 3♥ 2♥", 1581, HandRankName::Flush, HandRankClass::NineHighFlush)]
    #[case("8♣ 7♣ 6♣ 5♣ 3♣", 1582, HandRankName::Flush, HandRankClass::EightHighFlush)]
    #[case("8♣ 7♣ 6♣ 5♣ 2♣", 1583, HandRankName::Flush, HandRankClass::EightHighFlush)]
    #[case("8♣ 7♣ 6♣ 4♣ 3♣", 1584, HandRankName::Flush, HandRankClass::EightHighFlush)]
    #[case("8♣ 7♣ 6♣ 4♣ 2♣", 1585, HandRankName::Flush, HandRankClass::EightHighFlush)]
    #[case("8♣ 7♣ 6♣ 3♣ 2♣", 1586, HandRankName::Flush, HandRankClass::EightHighFlush)]

    #[case("8♣ 7♣ 5♣ 4♣ 3♣", 1587, HandRankName::Flush, HandRankClass::EightHighFlush)]
    #[case("8♣ 7♣ 5♣ 4♣ 2♣", 1588, HandRankName::Flush, HandRankClass::EightHighFlush)]
    #[case("8♣ 7♣ 5♣ 3♣ 2♣", 1589, HandRankName::Flush, HandRankClass::EightHighFlush)]


    #[case("8♣ 5♣ 4♣ 3♣ 2♣", 1595, HandRankName::Flush, HandRankClass::EightHighFlush)]
    #[case("7H 6H 5H 4H 2H", 1596, HandRankName::Flush, HandRankClass::SevenHighFlush)]
    #[case("7C 5C 4C 3C 2C", 1599, HandRankName::Flush, HandRankClass::SevenHighFlush)]
    #[case("A♠ K♠ Q♥ J♠ T♠", 1600, HandRankName::Straight, HandRankClass::AceHighStraight)]
    #[case("K♥ Q♥ J♠ T♥ 9♥", 1601, HandRankName::Straight, HandRankClass::KingHighStraight)]
    #[case("Q♦ J♠ T♦ 9♦ 8♦", 1602, HandRankName::Straight, HandRankClass::QueenHighStraight)]
    #[case("J♣ T♣ 9♣ 8♠ 7♣", 1603, HandRankName::Straight, HandRankClass::JackHighStraight)]
    #[case("T♤ 9♤ 8♡ 7♤ 6♤", 1604, HandRankName::Straight, HandRankClass::TenHighStraight)]
    #[case("9♡ 8♤ 7♡ 6♡ 5♡", 1605, HandRankName::Straight, HandRankClass::NineHighStraight)]
    #[case("8♧ 7♧ 6♡ 5♧ 4♧", 1606, HandRankName::Straight, HandRankClass::EightHighStraight)]
    #[case("7S 6♥ 5S 4S 3S", 1607, HandRankName::Straight, HandRankClass::SevenHighStraight)]
    #[case("6H 5S 4H 3H 2H", 1608, HandRankName::Straight, HandRankClass::SixHighStraight)]
    #[case("5D 4D 3♥ 2D AD", 1609, HandRankName::Straight, HandRankClass::FiveHighStraight)]
    #[case("AS AD AC KS QD", 1610, HandRankName::ThreeOfAKind, HandRankClass::ThreeAces)]
    #[case("AS AD AC 3S 2D", 1675, HandRankName::ThreeOfAKind, HandRankClass::ThreeAces)]
    #[case("KS KH KC AD QD", 1676, HandRankName::ThreeOfAKind, HandRankClass::ThreeKings)]
    #[case("KS KH KC 3D 2D", 1741, HandRankName::ThreeOfAKind, HandRankClass::ThreeKings)]
    #[case("QH QD QC AD KS", 1742, HandRankName::ThreeOfAKind, HandRankClass::ThreeQueens)]
    #[case("QH QD QC 3D 2S", 1807, HandRankName::ThreeOfAKind, HandRankClass::ThreeQueens)]
    #[case("JS JD JC AD KS", 1808, HandRankName::ThreeOfAKind, HandRankClass::ThreeJacks)]
    #[case("JS JD JC 3D 2S", 1873, HandRankName::ThreeOfAKind, HandRankClass::ThreeJacks)]
    #[case("TH TD TC AD KD", 1874, HandRankName::ThreeOfAKind, HandRankClass::ThreeTens)]
    #[case("TH TD TC 3D 2D", 1939, HandRankName::ThreeOfAKind, HandRankClass::ThreeTens)]
    #[case("9H 9D 9C AD KD", 1940, HandRankName::ThreeOfAKind, HandRankClass::ThreeNines)]
    #[case("9H 9D 9C 3D 2D", 2005, HandRankName::ThreeOfAKind, HandRankClass::ThreeNines)]
    #[case("8H 8D 8C AD KD", 2006, HandRankName::ThreeOfAKind, HandRankClass::ThreeEights)]
    #[case("8H 8D 8C 3D 2D", 2071, HandRankName::ThreeOfAKind, HandRankClass::ThreeEights)]
    #[case("7H 7D 7C AS KD", 2072, HandRankName::ThreeOfAKind, HandRankClass::ThreeSevens)]
    #[case("7H 7D 7C 3S 2D", 2137, HandRankName::ThreeOfAKind, HandRankClass::ThreeSevens)]
    #[case("6H 6D 6C AS KD", 2138, HandRankName::ThreeOfAKind, HandRankClass::ThreeSixes)]
    #[case("6H 6D 6C 3S 2D", 2203, HandRankName::ThreeOfAKind, HandRankClass::ThreeSixes)]
    #[case("5S 5H 5C AD KD", 2204, HandRankName::ThreeOfAKind, HandRankClass::ThreeFives)]
    #[case("5S 5H 5C 3D 2D", 2269, HandRankName::ThreeOfAKind, HandRankClass::ThreeFives)]
    #[case("4S 4H 4C AD KD", 2270, HandRankName::ThreeOfAKind, HandRankClass::ThreeFours)]
    #[case("4S 4H 4C 3D 2D", 2335, HandRankName::ThreeOfAKind, HandRankClass::ThreeFours)]
    #[case("3S 3H 3C AD KD", 2336, HandRankName::ThreeOfAKind, HandRankClass::ThreeTreys)]
    #[case("3S 3D 3C 4D 2D", 2401, HandRankName::ThreeOfAKind, HandRankClass::ThreeTreys)]
    #[case("2S 2H 2C AD KD", 2402, HandRankName::ThreeOfAKind, HandRankClass::ThreeDeuces)]
    #[case("2S 2H 2C 4S 3C", 2467, HandRankName::ThreeOfAKind, HandRankClass::ThreeDeuces)]
    #[case("AS AD KS KH Q♥", 2468, HandRankName::TwoPair, HandRankClass::AcesAndKings)]
    #[case("AS AD KS KH 2♥", 2478, HandRankName::TwoPair, HandRankClass::AcesAndKings)]
    #[case("AS AD QS QH K♥", 2479, HandRankName::TwoPair, HandRankClass::AcesAndQueens)]
    #[case("AS AD QS QH 2♥", 2489, HandRankName::TwoPair, HandRankClass::AcesAndQueens)]
    #[case("AS AD JS JH K♥", 2490, HandRankName::TwoPair, HandRankClass::AcesAndJacks)]
    #[case("AS AD JS JH 2♥", 2500, HandRankName::TwoPair, HandRankClass::AcesAndJacks)]
    #[case("AS AD TS TH K♥", 2501, HandRankName::TwoPair, HandRankClass::AcesAndTens)]
    #[case("AS AD TS TH 2♥", 2511, HandRankName::TwoPair, HandRankClass::AcesAndTens)]
    #[case("AS AD 9S 9H K♥", 2512, HandRankName::TwoPair, HandRankClass::AcesAndNines)]
    #[case("AS AD 9S 9H 2♥", 2522, HandRankName::TwoPair, HandRankClass::AcesAndNines)]
    #[case("AS AD 8S 8H K♥", 2523, HandRankName::TwoPair, HandRankClass::AcesAndEights)]
    #[case("AS AD 8S 8H 2♥", 2533, HandRankName::TwoPair, HandRankClass::AcesAndEights)]
    #[case("AS AD 7S 7H K♥", 2534, HandRankName::TwoPair, HandRankClass::AcesAndSevens)]
    #[case("AS AD 7S 7H 2♥", 2544, HandRankName::TwoPair, HandRankClass::AcesAndSevens)]
    #[case("AS AD 6S 6H K♥", 2545, HandRankName::TwoPair, HandRankClass::AcesAndSixes)]
    #[case("AS AD 6S 6H 2♥", 2555, HandRankName::TwoPair, HandRankClass::AcesAndSixes)]
    #[case("AS AD 5S 5H K♥", 2556, HandRankName::TwoPair, HandRankClass::AcesAndFives)]
    #[case("AS AD 5S 5H 2♥", 2566, HandRankName::TwoPair, HandRankClass::AcesAndFives)]
    #[case("AS AD 4S 4H K♥", 2567, HandRankName::TwoPair, HandRankClass::AcesAndFours)]
    #[case("AS AD 4S 4H 2♥", 2577, HandRankName::TwoPair, HandRankClass::AcesAndFours)]
    #[case("AS AD 3S 3H K♥", 2578, HandRankName::TwoPair, HandRankClass::AcesAndTreys)]
    #[case("AS AD 3S 3H 2♥", 2588, HandRankName::TwoPair, HandRankClass::AcesAndTreys)]
    #[case("AS AD 2S 2H K♥", 2589, HandRankName::TwoPair, HandRankClass::AcesAndDeuces)]
    #[case("AS AD 2S 2H 3♥", 2599, HandRankName::TwoPair, HandRankClass::AcesAndDeuces)]
    #[case("KS KH Q♥ QD AC", 2600, HandRankName::TwoPair, HandRankClass::KingsAndQueens)]
    #[case("KS KH Q♥ QD 2♥", 2610, HandRankName::TwoPair, HandRankClass::KingsAndQueens)]
    #[case("KS KH J♥ JD AC", 2611, HandRankName::TwoPair, HandRankClass::KingsAndJacks)]
    #[case("KS KH J♥ JD 2♥", 2621, HandRankName::TwoPair, HandRankClass::KingsAndJacks)]
    #[case("KS KH T♥ TD AC", 2622, HandRankName::TwoPair, HandRankClass::KingsAndTens)]
    #[case("KS KH T♥ TD 2♥", 2632, HandRankName::TwoPair, HandRankClass::KingsAndTens)]
    #[case("KS KH 9♥ 9D AC", 2633, HandRankName::TwoPair, HandRankClass::KingsAndNines)]
    #[case("KS KH 9♥ 9D 2♥", 2643, HandRankName::TwoPair, HandRankClass::KingsAndNines)]
    #[case("KS KH 8♥ 8D AC", 2644, HandRankName::TwoPair, HandRankClass::KingsAndEights)]
    #[case("KS KH 8♥ 8D 2♥", 2654, HandRankName::TwoPair, HandRankClass::KingsAndEights)]
    #[case("KS KH 7♥ 7D AC", 2655, HandRankName::TwoPair, HandRankClass::KingsAndSevens)]
    #[case("KS KH 7♥ 7D 2♥", 2665, HandRankName::TwoPair, HandRankClass::KingsAndSevens)]
    #[case("KS KH 6♥ 6D AC", 2666, HandRankName::TwoPair, HandRankClass::KingsAndSixes)]
    #[case("KS KH 6♥ 6D 2♥", 2676, HandRankName::TwoPair, HandRankClass::KingsAndSixes)]
    #[case("KS KH 5♥ 5D AC", 2677, HandRankName::TwoPair, HandRankClass::KingsAndFives)]
    #[case("KS KH 5♥ 5D 2♥", 2687, HandRankName::TwoPair, HandRankClass::KingsAndFives)]
    #[case("KS KH 4♥ 4D AC", 2688, HandRankName::TwoPair, HandRankClass::KingsAndFours)]
    #[case("KS KH 4♥ 4D 2♥", 2698, HandRankName::TwoPair, HandRankClass::KingsAndFours)]
    #[case("KS KH 3♥ 3D AC", 2699, HandRankName::TwoPair, HandRankClass::KingsAndTreys)]
    #[case("KS KH 3♥ 3D 2♥", 2709, HandRankName::TwoPair, HandRankClass::KingsAndTreys)]
    #[case("KS KH 2♥ 2D AC", 2710, HandRankName::TwoPair, HandRankClass::KingsAndDeuces)]
    #[case("KS KH 2♥ 2D 3♥", 2720, HandRankName::TwoPair, HandRankClass::KingsAndDeuces)]
    #[case("QS QH J♥ JD AC", 2721, HandRankName::TwoPair, HandRankClass::QueensAndJacks)]
    #[case("QS QH J♥ JD 2♥", 2731, HandRankName::TwoPair, HandRankClass::QueensAndJacks)]
    #[case("QS QH T♥ TD AC", 2732, HandRankName::TwoPair, HandRankClass::QueensAndTens)]
    #[case("QS QH T♥ TD 2♥", 2742, HandRankName::TwoPair, HandRankClass::QueensAndTens)]
    #[case("QS QH 9♥ 9D AC", 2743, HandRankName::TwoPair, HandRankClass::QueensAndNines)]
    #[case("QS QH 9♥ 9D 2♥", 2753, HandRankName::TwoPair, HandRankClass::QueensAndNines)]
    #[case("QS QH 8♥ 8D AC", 2754, HandRankName::TwoPair, HandRankClass::QueensAndEights)]
    #[case("QS QH 8♥ 8D 2♥", 2764, HandRankName::TwoPair, HandRankClass::QueensAndEights)]
    #[case("QS QH 7♥ 7D AC", 2765, HandRankName::TwoPair, HandRankClass::QueensAndSevens)]
    #[case("QS QH 7♥ 7D 2♥", 2775, HandRankName::TwoPair, HandRankClass::QueensAndSevens)]
    #[case("QS QH 6♥ 6D AC", 2776, HandRankName::TwoPair, HandRankClass::QueensAndSixes)]
    #[case("QS QH 6♥ 6D 2♥", 2786, HandRankName::TwoPair, HandRankClass::QueensAndSixes)]
    #[case("QS QH 5♥ 5D AC", 2787, HandRankName::TwoPair, HandRankClass::QueensAndFives)]
    #[case("QS QH 5♥ 5D 2♥", 2797, HandRankName::TwoPair, HandRankClass::QueensAndFives)]
    #[case("QS QH 4♥ 4D AC", 2798, HandRankName::TwoPair, HandRankClass::QueensAndFours)]
    #[case("QS QH 4♥ 4D 2♥", 2808, HandRankName::TwoPair, HandRankClass::QueensAndFours)]
    #[case("QS QH 3♥ 3D AC", 2809, HandRankName::TwoPair, HandRankClass::QueensAndTreys)]
    #[case("QS QH 3♥ 3D 2♥", 2819, HandRankName::TwoPair, HandRankClass::QueensAndTreys)]
    #[case("QS QH 2♥ 2D AC", 2820, HandRankName::TwoPair, HandRankClass::QueensAndDeuces)]
    #[case("QS QH 2♥ 2D 3♥", 2830, HandRankName::TwoPair, HandRankClass::QueensAndDeuces)]
    #[case("JS JH T♥ TD AC", 2831, HandRankName::TwoPair, HandRankClass::JacksAndTens)]
    #[case("JS JH T♥ TD 2♥", 2841, HandRankName::TwoPair, HandRankClass::JacksAndTens)]
    #[case("JS JH 9♥ 9D AC", 2842, HandRankName::TwoPair, HandRankClass::JacksAndNines)]
    #[case("JS JH 9♥ 9D 2♥", 2852, HandRankName::TwoPair, HandRankClass::JacksAndNines)]
    #[case("JS JH 8♥ 8D AC", 2853, HandRankName::TwoPair, HandRankClass::JacksAndEights)]
    #[case("JS JH 8♥ 8D 2♥", 2863, HandRankName::TwoPair, HandRankClass::JacksAndEights)]
    #[case("JS JH 7♥ 7D AC", 2864, HandRankName::TwoPair, HandRankClass::JacksAndSevens)]
    #[case("JS JH 7♥ 7D 2♥", 2874, HandRankName::TwoPair, HandRankClass::JacksAndSevens)]
    #[case("JS JH 6♥ 6D AC", 2875, HandRankName::TwoPair, HandRankClass::JacksAndSixes)]
    #[case("JS JH 6♥ 6D 2♥", 2885, HandRankName::TwoPair, HandRankClass::JacksAndSixes)]
    #[case("JS JH 5♥ 5D AC", 2886, HandRankName::TwoPair, HandRankClass::JacksAndFives)]
    #[case("JS JH 5♥ 5D 2♥", 2896, HandRankName::TwoPair, HandRankClass::JacksAndFives)]
    #[case("JS JH 4♥ 4D AC", 2897, HandRankName::TwoPair, HandRankClass::JacksAndFours)]
    #[case("JS JH 4♥ 4D 2♥", 2907, HandRankName::TwoPair, HandRankClass::JacksAndFours)]
    #[case("JS JH 3♥ 3D AC", 2908, HandRankName::TwoPair, HandRankClass::JacksAndTreys)]
    #[case("JS JH 3♥ 3D 2♥", 2918, HandRankName::TwoPair, HandRankClass::JacksAndTreys)]
    #[case("JS JH 2♥ 2D AC", 2919, HandRankName::TwoPair, HandRankClass::JacksAndDeuces)]
    #[case("JS JH 2♥ 2D 3♥", 2929, HandRankName::TwoPair, HandRankClass::JacksAndDeuces)]
    #[case("TS TH 9♥ 9D AC", 2930, HandRankName::TwoPair, HandRankClass::TensAndNines)]
    #[case("TS TH 9♥ 9D 2♥", 2940, HandRankName::TwoPair, HandRankClass::TensAndNines)]
    #[case("TS TH 8♥ 8D AC", 2941, HandRankName::TwoPair, HandRankClass::TensAndEights)]
    #[case("TS TH 8♥ 8D 2♥", 2951, HandRankName::TwoPair, HandRankClass::TensAndEights)]
    #[case("TS TH 7♥ 7D AC", 2952, HandRankName::TwoPair, HandRankClass::TensAndSevens)]
    #[case("TS TH 7♥ 7D 2♥", 2962, HandRankName::TwoPair, HandRankClass::TensAndSevens)]
    #[case("TS TH 6♥ 6D AC", 2963, HandRankName::TwoPair, HandRankClass::TensAndSixes)]
    #[case("TS TH 6♥ 6D 2♥", 2973, HandRankName::TwoPair, HandRankClass::TensAndSixes)]
    #[case("TS TH 5♥ 5D AC", 2974, HandRankName::TwoPair, HandRankClass::TensAndFives)]
    #[case("TS TH 5♥ 5D 2♥", 2984, HandRankName::TwoPair, HandRankClass::TensAndFives)]
    #[case("TS TH 4♥ 4D AC", 2985, HandRankName::TwoPair, HandRankClass::TensAndFours)]
    #[case("TS TH 4♥ 4D 2♥", 2995, HandRankName::TwoPair, HandRankClass::TensAndFours)]
    #[case("TS TH 3♥ 3D AC", 2996, HandRankName::TwoPair, HandRankClass::TensAndTreys)]
    #[case("TS TH 3♥ 3D 2♥", 3006, HandRankName::TwoPair, HandRankClass::TensAndTreys)]
    #[case("TS TH 2♥ 2D AC", 3007, HandRankName::TwoPair, HandRankClass::TensAndDeuces)]
    #[case("TS TH 2♥ 2D 3♥", 3017, HandRankName::TwoPair, HandRankClass::TensAndDeuces)]
    #[case("9S 9H 8♥ 8D AC", 3018, HandRankName::TwoPair, HandRankClass::NinesAndEights)]
    #[case("9S 9H 8♥ 8D 2♥", 3028, HandRankName::TwoPair, HandRankClass::NinesAndEights)]
    #[case("9S 9H 7♥ 7D AC", 3029, HandRankName::TwoPair, HandRankClass::NinesAndSevens)]
    #[case("9S 9H 7♥ 7D 2♥", 3039, HandRankName::TwoPair, HandRankClass::NinesAndSevens)]
    #[case("9S 9H 6♥ 6D AC", 3040, HandRankName::TwoPair, HandRankClass::NinesAndSixes)]
    #[case("9S 9H 6♥ 6D 2♥", 3050, HandRankName::TwoPair, HandRankClass::NinesAndSixes)]
    #[case("9S 9H 5♥ 5D AC", 3051, HandRankName::TwoPair, HandRankClass::NinesAndFives)]
    #[case("9S 9H 5♥ 5D 2♥", 3061, HandRankName::TwoPair, HandRankClass::NinesAndFives)]
    #[case("9S 9H 4♥ 4D AC", 3062, HandRankName::TwoPair, HandRankClass::NinesAndFours)]
    #[case("9S 9H 4♥ 4D 2♥", 3072, HandRankName::TwoPair, HandRankClass::NinesAndFours)]
    #[case("9S 9H 3♥ 3D AC", 3073, HandRankName::TwoPair, HandRankClass::NinesAndTreys)]
    #[case("9S 9H 3♥ 3D 2♥", 3083, HandRankName::TwoPair, HandRankClass::NinesAndTreys)]
    #[case("9S 9H 2♥ 2D AC", 3084, HandRankName::TwoPair, HandRankClass::NinesAndDeuces)]
    #[case("9S 9H 2♥ 2D 3♥", 3094, HandRankName::TwoPair, HandRankClass::NinesAndDeuces)]
    #[case("8S 8H 7♥ 7D AC", 3095, HandRankName::TwoPair, HandRankClass::EightsAndSevens)]
    #[case("8S 8H 7♥ 7D 2♥", 3105, HandRankName::TwoPair, HandRankClass::EightsAndSevens)]
    #[case("8S 8H 6♥ 6D AC", 3106, HandRankName::TwoPair, HandRankClass::EightsAndSixes)]
    #[case("8S 8H 6♥ 6D 2♥", 3116, HandRankName::TwoPair, HandRankClass::EightsAndSixes)]
    #[case("8S 8H 5♥ 5D AC", 3117, HandRankName::TwoPair, HandRankClass::EightsAndFives)]
    #[case("8S 8H 5♥ 5D 2♥", 3127, HandRankName::TwoPair, HandRankClass::EightsAndFives)]
    #[case("8S 8H 4♥ 4D AC", 3128, HandRankName::TwoPair, HandRankClass::EightsAndFours)]
    #[case("8S 8H 4♥ 4D 2♥", 3138, HandRankName::TwoPair, HandRankClass::EightsAndFours)]
    #[case("8S 8H 3♥ 3D AC", 3139, HandRankName::TwoPair, HandRankClass::EightsAndTreys)]
    #[case("8S 8H 3♥ 3D 2♥", 3149, HandRankName::TwoPair, HandRankClass::EightsAndTreys)]
    #[case("8S 8H 2♥ 2D AC", 3150, HandRankName::TwoPair, HandRankClass::EightsAndDeuces)]
    #[case("8S 8H 2♥ 2D 3♥", 3160, HandRankName::TwoPair, HandRankClass::EightsAndDeuces)]
    #[case("7♥ 7D 6S 6C A♥", 3161, HandRankName::TwoPair, HandRankClass::SevensAndSixes)]
    #[case("7♥ 7D 6S 6♥ 2D", 3171, HandRankName::TwoPair, HandRankClass::SevensAndSixes)]
    #[case("7♥ 7D 5S 5C A♥", 3172, HandRankName::TwoPair, HandRankClass::SevensAndFives)]
    #[case("7♥ 7D 5S 5♥ 2D", 3182, HandRankName::TwoPair, HandRankClass::SevensAndFives)]
    #[case("7♥ 7D 4S 4C A♥", 3183, HandRankName::TwoPair, HandRankClass::SevensAndFours)]
    #[case("7♥ 7D 4S 4♥ 2D", 3193, HandRankName::TwoPair, HandRankClass::SevensAndFours)]
    #[case("7♥ 7D 3S 3C A♥", 3194, HandRankName::TwoPair, HandRankClass::SevensAndTreys)]
    #[case("7♥ 7D 3S 3♥ 2D", 3204, HandRankName::TwoPair, HandRankClass::SevensAndTreys)]
    #[case("7♥ 7D 2S 2C A♥", 3205, HandRankName::TwoPair, HandRankClass::SevensAndDeuces)]
    #[case("7♥ 7D 2S 2♥ 3D", 3215, HandRankName::TwoPair, HandRankClass::SevensAndDeuces)]
    #[case("6♥ 6D 5S 5C A♥", 3216, HandRankName::TwoPair, HandRankClass::SixesAndFives)]
    #[case("6♥ 6D 5S 5♥ 2D", 3226, HandRankName::TwoPair, HandRankClass::SixesAndFives)]
    #[case("6♥ 6D 4S 4C A♥", 3227, HandRankName::TwoPair, HandRankClass::SixesAndFours)]
    #[case("6♥ 6D 4S 4♥ 2D", 3237, HandRankName::TwoPair, HandRankClass::SixesAndFours)]
    #[case("6♥ 6D 3S 3C A♥", 3238, HandRankName::TwoPair, HandRankClass::SixesAndTreys)]
    #[case("6♥ 6D 3S 3♥ 2D", 3248, HandRankName::TwoPair, HandRankClass::SixesAndTreys)]
    #[case("6♥ 6D 2S 2C A♥", 3249, HandRankName::TwoPair, HandRankClass::SixesAndDeuces)]
    #[case("6♥ 6D 2S 2♥ 3D", 3259, HandRankName::TwoPair, HandRankClass::SixesAndDeuces)]
    #[case("5S 5C 4S 4D A♥", 3260, HandRankName::TwoPair, HandRankClass::FivesAndFours)]
    #[case("5S 5♥ 4S 4C 2D", 3270, HandRankName::TwoPair, HandRankClass::FivesAndFours)]
    #[case("5S 5C 3S 3D A♥", 3271, HandRankName::TwoPair, HandRankClass::FivesAndTreys)]
    #[case("5S 5♥ 3S 3C 2D", 3281, HandRankName::TwoPair, HandRankClass::FivesAndTreys)]
    #[case("5S 5C 2S 2D A♥", 3282, HandRankName::TwoPair, HandRankClass::FivesAndDeuces)]
    #[case("5S 5♥ 2S 2C 3D", 3292, HandRankName::TwoPair, HandRankClass::FivesAndDeuces)]
    #[case("4♥ 4D 3S 3C A♥", 3293, HandRankName::TwoPair, HandRankClass::FoursAndTreys)]
    #[case("4♥ 4D 3S 3♥ 2D", 3303, HandRankName::TwoPair, HandRankClass::FoursAndTreys)]
    #[case("4♥ 4D 2S 2C A♥", 3304, HandRankName::TwoPair, HandRankClass::FoursAndDeuces)]
    #[case("4♥ 4D 2S 2♥ 3D", 3314, HandRankName::TwoPair, HandRankClass::FoursAndDeuces)]
    #[case("3♥ 3D 2S 2C A♥", 3315, HandRankName::TwoPair, HandRankClass::TreysAndDeuces)]
    #[case("3♥ 3D 2S 2♥ 4D", 3325, HandRankName::TwoPair, HandRankClass::TreysAndDeuces)]
    #[case("A♥ AD KS Q♥ JD", 3326, HandRankName::Pair, HandRankClass::PairOfAces)]
    #[case("A♥ AD 4S 3♥ 2D", 3545, HandRankName::Pair, HandRankClass::PairOfAces)]
    #[case("K♥ KD AS Q♥ JD", 3546, HandRankName::Pair, HandRankClass::PairOfKings)]
    #[case("K♥ KD 4S 3♥ 2D", 3765, HandRankName::Pair, HandRankClass::PairOfKings)]
    #[case("Q♥ QD AS K♥ JD", 3766, HandRankName::Pair, HandRankClass::PairOfQueens)]
    #[case("Q♥ QD 4S 3♥ 2D", 3985, HandRankName::Pair, HandRankClass::PairOfQueens)]
    #[case("J♥ JD AS K♥ QD", 3986, HandRankName::Pair, HandRankClass::PairOfJacks)]
    #[case("J♥ JD 4S 3♥ 2D", 4205, HandRankName::Pair, HandRankClass::PairOfJacks)]
    #[case("T♥ TD AS K♥ QD", 4206, HandRankName::Pair, HandRankClass::PairOfTens)]
    #[case("T♥ TD 4S 3♥ 2D", 4425, HandRankName::Pair, HandRankClass::PairOfTens)]
    #[case("9♥ 9D AS K♥ QD", 4426, HandRankName::Pair, HandRankClass::PairOfNines)]
    #[case("9♥ 9D 4S 3♥ 2D", 4645, HandRankName::Pair, HandRankClass::PairOfNines)]
    #[case("8♥ 8D AS K♥ QD", 4646, HandRankName::Pair, HandRankClass::PairOfEights)]
    #[case("8♥ 8D 4S 3♥ 2D", 4865, HandRankName::Pair, HandRankClass::PairOfEights)]
    #[case("7♥ 7D AS K♥ QD", 4866, HandRankName::Pair, HandRankClass::PairOfSevens)]
    #[case("7♥ 7D 4S 3♥ 2D", 5085, HandRankName::Pair, HandRankClass::PairOfSevens)]
    #[case("6♥ 6D AS K♥ QD", 5086, HandRankName::Pair, HandRankClass::PairOfSixes)]
    #[case("6♥ 6D 4S 3♥ 2D", 5305, HandRankName::Pair, HandRankClass::PairOfSixes)]
    #[case("5♥ 5D AS K♥ QD", 5306, HandRankName::Pair, HandRankClass::PairOfFives)]
    #[case("5♥ 5D 4S 3♥ 2D", 5525, HandRankName::Pair, HandRankClass::PairOfFives)]
    #[case("4♥ 4D AS K♥ QD", 5526, HandRankName::Pair, HandRankClass::PairOfFours)]
    #[case("4♥ 4D 5S 3♥ 2D", 5745, HandRankName::Pair, HandRankClass::PairOfFours)]
    #[case("3♥ 3D AS K♥ QD", 5746, HandRankName::Pair, HandRankClass::PairOfTreys)]
    #[case("3♥ 3D 5S 4♥ 2D", 5965, HandRankName::Pair, HandRankClass::PairOfTreys)]
    #[case("2♥ 2D AS K♥ QD", 5966, HandRankName::Pair, HandRankClass::PairOfDeuces)]
    #[case("2♥ 2D 5S 4♥ 3D", 6185, HandRankName::Pair, HandRankClass::PairOfDeuces)]
    #[case("AD KD Q♥ JD 9D", 6186, HandRankName::HighCard, HandRankClass::AceHigh)]
    #[case("AD 6D 4♥ 3D 2D", 6678, HandRankName::HighCard, HandRankClass::AceHigh)]
    #[case("KD Q♥ JD TD 8C", 6679, HandRankName::HighCard, HandRankClass::KingHigh)]
    #[case("KD 5D 4♥ 3D 2D", 7007, HandRankName::HighCard, HandRankClass::KingHigh)]
    #[case("Q♥ JD TD 9C 7D", 7008, HandRankName::HighCard, HandRankClass::QueenHigh)]
    #[case("QD 5D 4♥ 3D 2D", 7216, HandRankName::HighCard, HandRankClass::QueenHigh)]
    #[case("JD TD 9C 8D 6C", 7217, HandRankName::HighCard, HandRankClass::JackHigh)]
    #[case("JD 5D 4♥ 3D 2D", 7341, HandRankName::HighCard, HandRankClass::JackHigh)]
    #[case("TD 9C 8D 7C 5S", 7342, HandRankName::HighCard, HandRankClass::TenHigh)]
    #[case("TD 5D 4♥ 3D 2D", 7410, HandRankName::HighCard, HandRankClass::TenHigh)]
    #[case("9C 8D 7C 6S 4D", 7411, HandRankName::HighCard, HandRankClass::NineHigh)]
    #[case("9C 8D 7C 6S 3D", 7412, HandRankName::HighCard, HandRankClass::NineHigh)]
    #[case("9C 8D 7C 6S 2D", 7413, HandRankName::HighCard, HandRankClass::NineHigh)]
    #[case("9C 8D 7C 5S 4D", 7414, HandRankName::HighCard, HandRankClass::NineHigh)]
    #[case("9D 5D 4♥ 3D 2D", 7444, HandRankName::HighCard, HandRankClass::NineHigh)]
    #[case("8D 7C 6S 5D 3H", 7445, HandRankName::HighCard, HandRankClass::EightHigh)]
    #[case("8D 7C 6S 5D 2H", 7446, HandRankName::HighCard, HandRankClass::EightHigh)]
    #[case("8D 7C 6S 4D 3H", 7447, HandRankName::HighCard, HandRankClass::EightHigh)]
    #[case("8D 7C 6S 4D 2H", 7448, HandRankName::HighCard, HandRankClass::EightHigh)]
    #[case("8D 7C 6S 3D 2H", 7449, HandRankName::HighCard, HandRankClass::EightHigh)]
    #[case("8D 7C 5S 4D 3H", 7450, HandRankName::HighCard, HandRankClass::EightHigh)]
    #[case("8D 5D 4♥ 3D 2D", 7458, HandRankName::HighCard, HandRankClass::EightHigh)]
    #[case("7C 6S 5D 4H 2C", 7459, HandRankName::HighCard, HandRankClass::SevenHigh)]
    #[case("7D 6D 5♥ 3D 2D", 7460, HandRankName::HighCard, HandRankClass::SevenHigh)]
    #[case("7D 6D 4♥ 3D 2D", 7461, HandRankName::HighCard, HandRankClass::SevenHigh)]
    #[case("7D 5D 4♥ 3D 2D", 7462, HandRankName::HighCard, HandRankClass::SevenHigh)]
    #[case("A♠ A♠ Q♠ J♠ T♠", 0, HandRankName::Invalid, HandRankClass::Invalid)]
    fn hand_rank_value(
        #[case] index: &'static str,
        #[case] expected_value: HandRankValue,
        #[case] expected_name: HandRankName,
        #[case] expected_class: HandRankClass,
    ) {
        let hand = Five::try_from(index).unwrap();

        // let hand_rank_value = hand.hand_rank_value();
        let hand_rank = hand.hand_rank();

        assert_eq!(expected_value, hand_rank.value);
        assert_eq!(expected_name, hand_rank.name);
        assert_eq!(expected_class, hand_rank.class);
    }

    use rstest::rstest;

    #[test]
    fn new() {
        let five = Five::new(
            CardNumber::ACE_SPADES,
            CardNumber::KING_SPADES,
            CardNumber::QUEEN_SPADES,
            CardNumber::JACK_SPADES,
            CardNumber::TEN_SPADES,
        );
        assert_eq!(five.hand_rank_value(), 1);
    }

    #[test]
    fn hand_rank_value__royal_flush() {
        assert_eq!(1, Five::try_from("A♠ K♠ Q♠ J♠ T♠").unwrap().hand_rank_value());
    }

    #[test]
    fn and_bits() {
        let hand = Five::try_from("A♠ K♠ Q♠ J♠ T♠").unwrap();

        let and_bits = hand.and_bits();

        assert_eq!(CardNumber::ACE_SPADES, hand.first());
        assert_eq!(CardNumber::KING_SPADES, hand.second());
        assert_eq!(CardNumber::QUEEN_SPADES, hand.third());
        assert_eq!(CardNumber::JACK_SPADES, hand.forth());
        assert_eq!(CardNumber::TEN_SPADES, hand.fifth());
        assert_eq!("00010000000000001000110000101001", format!("{:032b}", hand.first()));
        assert_eq!("00001000000000001000101100100101", format!("{:032b}", hand.second()));
        assert_eq!("00000100000000001000101000011111", format!("{:032b}", hand.third()));
        assert_eq!("00000010000000001000100100011101", format!("{:032b}", hand.forth()));
        assert_eq!("00000001000000001000100000010111", format!("{:032b}", hand.fifth()));
        assert_eq!("00000000000000001000100000000001", format!("{:032b}", and_bits));
    }

    #[test]
    fn is_flush() {
        assert!(Five::try_from("A♠ K♠ Q♠ J♠ T♠").unwrap().is_flush());
        assert!(!Five::try_from("A♠ K♥ Q♠ J♠ T♠").unwrap().is_flush());
    }

    #[test]
    fn is_straight() {
        assert!(Five::try_from("A♠ K♥ Q♠ J♠ T♠").unwrap().is_straight());
        assert!(Five::try_from("K♥ Q♥ J♥ T♥ 9♠").unwrap().is_straight());
        assert!(Five::try_from("Q♥ J♥ T♥ 9♠ 8C").unwrap().is_straight());
        assert!(Five::try_from("J♠ T♥ 9♠ 8♠ 7C").unwrap().is_straight());
        assert!(Five::try_from("T♥ 9♠ 8♠ 7C 6S").unwrap().is_straight());
        assert!(Five::try_from("9♠ 8♠ 7C 6S 5♥").unwrap().is_straight());
        assert!(Five::try_from("8♠ 7C 6S 5♥ 4D").unwrap().is_straight());
        assert!(Five::try_from("7C 6S 5♥ 4D 3C").unwrap().is_straight());
        assert!(Five::try_from("6S 5♥ 4D 3C 2H").unwrap().is_straight());
        assert!(Five::try_from("5♥ 4D 3C 2H AS").unwrap().is_straight());
    }

    #[test]
    fn is_straight__false() {
        assert!(!Five::try_from("6♥ 4D 3C 2H AS").unwrap().is_straight());
        assert!(!Five::try_from("K♥ Q♥ J♥ T♥ 8D").unwrap().is_straight());
    }

    #[test]
    fn is_straight_flush() {
        assert!(Five::try_from("A♠ K♠ Q♠ J♠ T♠").unwrap().is_straight_flush());
        assert!(Five::try_from("K♠ Q♠ J♠ T♠ 9♠").unwrap().is_straight_flush());
    }

    #[test]
    fn is_straight_false() {
        assert!(!Five::try_from("A♠ K♥ Q♠ J♠ T♠").unwrap().is_straight_flush());
    }

    #[test]
    fn is_wheel() {
        let wheel = Five::try_from("5♥ 4D 3C 2H A♠").unwrap();

        assert_eq!("0001000000001111", format!("{:016b}", wheel.or_rank_bits()));
        assert_eq!(Five::WHEEL_OR_BITS, wheel.or_rank_bits());
        assert!(wheel.is_wheel());
        assert!(!Five::try_from("7♥ 4D 3C 2H AS").unwrap().is_wheel());
    }

    #[test]
    fn or_rank_bits() {
        let or = Five::try_from("A♠ K♠ Q♠ J♠ T♠").unwrap().or_rank_bits();

        assert_eq!("0001111100000000", format!("{:016b}", or));
        assert_eq!("00000000000000000001111100000000", format!("{:032b}", or));
        assert_eq!(8, or.trailing_zeros());
        assert_eq!(19, or.leading_zeros());
        assert_eq!(or, 7936);
    }

    #[test]
    fn sort() {
        let five = Five::try_from("KC QD A♠ 9h T♠").unwrap().sort();

        let expected = Five::try_from("A♠ KC QD T♠ 9h").unwrap();

        assert_eq!(five, expected);
    }

    #[test]
    fn default() {
        let five = Five::default();

        assert_eq!(five.first(), CardNumber::BLANK);
        assert_eq!(five.second(), CardNumber::BLANK);
        assert_eq!(five.third(), CardNumber::BLANK);
        assert_eq!(five.forth(), CardNumber::BLANK);
        assert_eq!(five.fifth(), CardNumber::BLANK);
        assert!(five.contain_blank());
        assert!(!five.are_unique());
        assert!(!five.is_valid());
    }

    #[test]
    fn hand_validator__is_corrupt() {
        let first = Five::from([
            CardNumber::JACK_CLUBS,
            CardNumber::DEUCE_CLUBS,
            23,
            CardNumber::KING_SPADES,
            CardNumber::TEN_SPADES,
        ]);
        let second = Five::from([
            CardNumber::JACK_CLUBS,
            CardNumber::QUEEN_DIAMONDS,
            CardNumber::TREY_CLUBS,
            CardNumber::KING_SPADES,
            CardNumber::BLANK,
        ]);

        assert!(first.is_corrupt());
        assert!(second.is_corrupt());
    }

    #[test]
    fn hand_validator__are_unique() {
        let first = Five::from([
            CardNumber::JACK_CLUBS,
            CardNumber::TREY_CLUBS,
            CardNumber::DEUCE_CLUBS,
            CardNumber::KING_SPADES,
            CardNumber::TEN_SPADES,
        ]);
        let second = Five::from([
            CardNumber::JACK_CLUBS,
            CardNumber::QUEEN_DIAMONDS,
            CardNumber::TREY_CLUBS,
            CardNumber::KING_SPADES,
            CardNumber::ACE_HEARTS,
        ]);
        let third = Five::try_from("A♠ K♠ Q♠ J♠ T♠").unwrap();

        assert!(first.are_unique());
        assert!(second.are_unique());
        assert!(third.are_unique());
    }

    #[test]
    fn hand_validator__are_unique__false() {
        let first = Five::from([
            CardNumber::JACK_CLUBS,
            CardNumber::DEUCE_CLUBS,
            CardNumber::DEUCE_CLUBS,
            CardNumber::KING_SPADES,
            CardNumber::TEN_SPADES,
        ]);
        let second = Five::from([
            CardNumber::JACK_CLUBS,
            CardNumber::QUEEN_DIAMONDS,
            CardNumber::TREY_CLUBS,
            CardNumber::KING_SPADES,
            CardNumber::KING_SPADES,
        ]);
        let third = Five::try_from("A♠ A♠ Q♠ J♠ T♠").unwrap();

        assert!(!first.are_unique());
        assert!(!second.are_unique());
        assert!(!third.are_unique());
    }

    #[test]
    fn try_from__index() {
        let five = Five::try_from("A♠ K♠ Q♠ J♠ T♠");

        assert!(five.is_ok());
        let five = five.unwrap();
        assert_eq!(five.first(), CardNumber::ACE_SPADES);
        assert_eq!(five.second(), CardNumber::KING_SPADES);
        assert_eq!(five.third(), CardNumber::QUEEN_SPADES);
        assert_eq!(five.forth(), CardNumber::JACK_SPADES);
        assert_eq!(five.fifth(), CardNumber::TEN_SPADES);
        assert!(!five.contain_blank());
        assert!(five.are_unique());
        assert!(five.is_valid());
    }

    #[test]
    fn try_from__index__blank() {
        let five = Five::try_from("A♠ K♠ XX J♠ T♠");

        assert!(five.is_ok());
        let five = five.unwrap();
        assert_eq!(five.first(), CardNumber::ACE_SPADES);
        assert_eq!(five.second(), CardNumber::KING_SPADES);
        assert_eq!(five.third(), CardNumber::BLANK);
        assert_eq!(five.forth(), CardNumber::JACK_SPADES);
        assert_eq!(five.fifth(), CardNumber::TEN_SPADES);
        assert!(five.contain_blank());
        assert!(!five.is_valid());
    }

    #[test]
    fn try_from__index__too_short() {
        let five = Five::try_from("A♠ K♠ Q♠ J♠");

        assert!(five.is_err());
    }

    #[test]
    fn shifty__shift_suit() {
        assert_eq!(
            Five::try_from("4♥ 4D 2S 2C A♥").unwrap().shift_suit(),
            Five::try_from("4D 4C 2H 2S AD").unwrap()
        )
    }
}