1 | <?php |
||
12 | class CardValidator |
||
13 | { |
||
14 | const VALID_CARDS = [ |
||
15 | 'AD', 'KD', 'QD', 'JD', '10D', '9D', '8D', '7D', '6D', '5D', '4D', '3D', '2D', |
||
16 | 'AH', 'KH', 'QH', 'JH', '10H', '9H', '8H', '7H', '6H', '5H', '4H', '3H', '2H', |
||
17 | 'AC', 'KC', 'QC', 'JC', '10C', '9C', '8C', '7C', '6C', '5C', '4C', '3C', '2C', |
||
18 | 'AS', 'KS', 'QS', 'JS', '10S', '9S', '8S', '7S', '6S', '5S', '4S', '3S', '2S', |
||
19 | ]; |
||
20 | |||
21 | /** |
||
22 | * The main class method |
||
23 | * |
||
24 | * @param array $cards |
||
25 | * |
||
26 | * @return boolean |
||
27 | */ |
||
28 | public function areValid(array $cards) |
||
40 | |||
41 | /** |
||
42 | * Check if the cards are in a valid format |
||
43 | * |
||
44 | * @param array $cards |
||
45 | * @return boolean |
||
46 | */ |
||
47 | private function areCardsFormatValid(array $cards) |
||
57 | |||
58 | /** |
||
59 | * Look for card duplication |
||
60 | * |
||
61 | * @param array $cards |
||
62 | * |
||
63 | * @return boolean |
||
64 | */ |
||
65 | private function hasNoCardDuplication(array $cards) |
||
77 | } |
||
78 |