/** * @test * @group factory-execute * @group factory */ public function 正常な処理() { $this->reader->setFilePath(ROOT . '/data/FactoryMethod/SampleData.xml'); $this->reader->read(); $this->reader->display(); $result = file_get_contents(ROOT . '/data/FactoryMethod/Result.html'); $this->expectOutputString($result); }
/** * Readerクラスを生成する * * @param string $file_path * @return Reader **/ public function getReader($file_path) { $info = pathinfo($file_path); switch ($info['extension']) { case 'csv': $reader = new CsvFileReader(); break; case 'xml': $reader = new XmlFileReader(); break; default: throw new \Exception('サポートされていないファイルです'); break; } $reader->setFilePath($file_path); return $reader; }