configuration = new Configuration(); $this->processor = new Processor(); } public function testThrowsIfDirectoriesIsEmpty() { $config = $this->getValidConfig(); $config['directories'] = []; $this->expectExceptionMessage("Directories cannot be empty!"); $this->validateConfig($config); } public function testThrowsIfDirectoryIsNotFound(): void { $config = $this->getValidConfig(); $fakeDir = "abc/def/ghi"; $config['directories'] = [$fakeDir]; $this->expectExceptionMessage("\"abc\/def\/ghi\" is not a directory!"); $this->validateConfig($config); } private function validateConfig(array $config): void { $this->processor->processConfiguration($this->configuration, [$config]); } private function getValidConfig(): array { return [ 'directories' => [ './', ], 'colours' => [ 'primary' => [ 'fill' => 'fill-primary', 'stroke' => 'stroke-primary', 'fill-hover' => 'hover:fill-primary', 'stroke-hover' => 'hover:stroke-primary', 'fill-group-hover' => 'group-hover:fill-primary', 'stroke-group-hover' => 'group-hover:stroke-primary', ], ], ]; } }