/** @test **/ function it_filter_results() { $anaysisResult = new AnalysisResult(); $files = ['Z.php', 'A.php']; $lines = [31, 56, 11]; foreach ($files as $file) { foreach ($lines as $line) { $anaysisResult->addIssue($file, $line, 'PHP-Hound', 'error', 'Error'); } } $filter = new FakeFilter(); $anaysisResult->setResultsFilter($filter); $this->assertEquals(['filtered', 'data'], $anaysisResult->toArray()); }
/** @test */ function it_merges_with_other_analysis_result() { $anaysisResult1 = new AnalysisResult(); $files1 = ['Z.php', 'A.php']; $lines1 = [31, 56, 11]; foreach ($files1 as $file) { foreach ($lines1 as $line) { $anaysisResult1->addIssue($file, $line, 'PHPMessDetector', 'error', 'Error'); } } $anaysisResult2 = new AnalysisResult(); $files2 = ['Y.php', 'B.php', 'A.php']; $lines2 = [300, 418]; foreach ($files2 as $file) { foreach ($lines2 as $line) { $anaysisResult2->addIssue($file, $line, 'PHPCodeSniffer', 'error', 'Error'); } } $anaysisResult1->mergeWith($anaysisResult2); $this->assertEquals(['A.php' => [11 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 31 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 56 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 300 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']], 418 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']]], 'B.php' => [300 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']], 418 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']]], 'Y.php' => [300 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']], 418 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']]], 'Z.php' => [11 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 31 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 56 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']]]], $anaysisResult1->toArray()); }