1 | <?php |
||
10 | class Modulo10 implements Calculator |
||
11 | { |
||
12 | use AssertionsTrait; |
||
13 | |||
14 | /** |
||
15 | * Check if the last digit of number is a valid modulo 10 check digit |
||
16 | */ |
||
17 | 6 | public function isValid(string $number): bool |
|
18 | { |
||
19 | 6 | return substr($number, -1) === $this->calculateCheckDigit(substr($number, 0, -1) ?: ''); |
|
20 | } |
||
21 | |||
22 | /** |
||
23 | * Calculate the modulo 10 check digit for number |
||
24 | */ |
||
25 | 12 | public function calculateCheckDigit(string $number): string |
|
39 | |||
40 | protected function calculateSum(string $number): int |
||
53 | } |
||
54 |