/** * Tests that the chart factory creates a pie chart for breakdown input. * * @return void */ public function testCreatePieChartFromBuildBreakdown() { $this->markTestSkippedWhenEzcGraphChartNotExists(); $input = new phpucBuildBreakdownInput(); $input->processLog(new DOMXPath(new DOMDocument())); $factory = new phpucChartFactory(); $chart = $factory->createChart($input); $this->assertType('phpucPieChart', $chart); }
/** * Tests the line chart render method. * * @return void */ public function testRender() { $this->markTestSkippedWhenEzcGraphChartNotExists(); $dom = new DOMDocument(); $dom->load(PHPUC_TEST_LOG_FILE); $input = new phpucBuildBreakdownInput(); $input->processLog(new DOMXPath($dom)); $chart = new phpucPieChart(); $chart->setInput($input); $file = PHPUC_TEST_DIR . '/test.png'; $chart->render(230, 420, $file); $this->assertFileExists($file); }
/** * Extracts the test data for a single log file and tests the result. * * @param DOMXPath $xpath The xpath instance for the log file. * * @return void */ protected function doTestSingleLog(DOMXPath $xpath) { $error = $xpath->query('/cruisecontrol[build/@error]/info/property[@name = "builddate"]/@value'); $input = new phpucBuildBreakdownInput(); $input->processLog($xpath); $data = $input->data; $this->assertArrayHasKey('Broken Builds', $data); $this->assertArrayHasKey('Good Builds', $data); if ($error->length === 1) { $this->assertEquals(0, $data['Good Builds']); $this->assertEquals(1, $data['Broken Builds']); } else { $this->assertEquals(1, $data['Good Builds']); $this->assertEquals(0, $data['Broken Builds']); } }