/** * Tests that the analyzer calculates the correct number of functions values. * * @return void */ public function testAnalyzerCalculatesCorrectNumberOfFunctions() { $packageA = new PHP_Depend_Code_Package('A'); $packageA->addFunction(new PHP_Depend_Code_Function('a1')); $packageA->addFunction(new PHP_Depend_Code_Function('a2')); $packageA->addFunction(new PHP_Depend_Code_Function('a3')); $packageB = new PHP_Depend_Code_Package('B'); $packageB->addFunction(new PHP_Depend_Code_Function('b1')); $packageB->addFunction(new PHP_Depend_Code_Function('b2')); $packageC = new PHP_Depend_Code_Package('C'); $packageC->addFunction(new PHP_Depend_Code_Function('c1')); $packages = array($packageA, $packageB, $packageC); $analyzer = new PHP_Depend_Metrics_NodeCount_Analyzer(); $analyzer->analyze(new PHP_Depend_Code_NodeIterator($packages)); $project = $analyzer->getProjectMetrics(); $this->assertArrayHasKey('nof', $project); $this->assertEquals(6, $project['nof']); $metrics = $analyzer->getNodeMetrics($packageA); $this->assertArrayHasKey('nof', $metrics); $this->assertEquals(3, $metrics['nof']); $metrics = $analyzer->getNodeMetrics($packageB); $this->assertArrayHasKey('nof', $metrics); $this->assertEquals(2, $metrics['nof']); $metrics = $analyzer->getNodeMetrics($packageC); $this->assertArrayHasKey('nof', $metrics); $this->assertEquals(1, $metrics['nof']); }
/** * testCalculatesExpectedNumberOfFunctionsInPackages * * @return void * @covers PHP_Depend_Metrics_NodeCount_Analyzer * @group pdepend * @group pdepend::metrics * @group pdepend::metrics::nodecount * @group unittest */ public function testCalculatesExpectedNumberOfFunctionsInPackages() { $packages = self::parseTestCaseSource(__METHOD__); $analyzer = new PHP_Depend_Metrics_NodeCount_Analyzer(); $analyzer->analyze($packages); $metrics = array(); foreach ($packages as $package) { $metrics[$package->getName()] = $analyzer->getNodeMetrics($package); } $this->assertEquals(array('A' => array('noc' => 0, 'noi' => 0, 'nom' => 0, 'nof' => 3), 'B' => array('noc' => 0, 'noi' => 0, 'nom' => 0, 'nof' => 2), 'C' => array('noc' => 0, 'noi' => 0, 'nom' => 0, 'nof' => 1)), $metrics); }
/** * Tests the result of the phpunit logger with some real analyzers. * * @return void * @covers PHP_Depend_Log_Phpunit_Xml * @group pdepend * @group pdepend::logs * @group pdepend::logs::summary * @group unittest */ public function testPHPUnitLoggerResult() { $packages = self::parseTestCaseSource(__METHOD__); $logger = new PHP_Depend_Log_Phpunit_Xml(); $logger->setLogFile($this->_tempFile); $logger->setCode($packages); $analyzer0 = new PHP_Depend_Metrics_CyclomaticComplexity_Analyzer(); $analyzer0->analyze($packages); $analyzer1 = new PHP_Depend_Metrics_ClassLevel_Analyzer(); $analyzer1->addAnalyzer($analyzer0); $analyzer1->analyze($packages); $analyzer2 = new PHP_Depend_Metrics_CodeRank_Analyzer(); $analyzer2->analyze($packages); $analyzer3 = new PHP_Depend_Metrics_Coupling_Analyzer(); $analyzer3->analyze($packages); $analyzer4 = new PHP_Depend_Metrics_Hierarchy_Analyzer(); $analyzer4->analyze($packages); $analyzer5 = new PHP_Depend_Metrics_Inheritance_Analyzer(); $analyzer5->analyze($packages); $analyzer6 = new PHP_Depend_Metrics_NodeCount_Analyzer(); $analyzer6->analyze($packages); $analyzer7 = new PHP_Depend_Metrics_NodeLoc_Analyzer(); $analyzer7->analyze($packages); $logger->log($analyzer0); $logger->log($analyzer1); $logger->log($analyzer2); $logger->log($analyzer3); $logger->log($analyzer4); $logger->log($analyzer5); $logger->log($analyzer6); $logger->log($analyzer7); $logger->close(); $actual = file_get_contents($this->_tempFile); $expected = $this->_loadExpected('phpunit-log.xml'); $this->assertXmlStringEqualsXmlString($expected, $actual); }