| Conditions | 2 | 
| Paths | 2 | 
| Total Lines | 10 | 
| Code Lines | 6 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 1 | ||
| Bugs | 0 | Features | 0 | 
| 1 | <?php  | 
            ||
| 11 | public static function validate(string $bookName): void  | 
            ||
| 12 |     { | 
            ||
| 13 | $books = require __DIR__ . '/../../data/books.php';  | 
            ||
| 14 | |||
| 15 | $bookName = trim($bookName);  | 
            ||
| 16 | $bookName = strtolower($bookName);  | 
            ||
| 17 |         $bookName = preg_replace('/[^a-z0-9 ]/', '', $bookName); | 
            ||
| 18 | |||
| 19 |         if (!array_key_exists($bookName, $books)) { | 
            ||
| 20 | throw InvalidBookException::invalidBook($bookName);  | 
            ||
| 21 | }  | 
            ||
| 24 |