/**
  * Test case for the execution chain bug 14.
  *
  * @return void
  */
 public function testAnalyzerExecutionChain()
 {
     $packages = self::parseCodeResourceForTest();
     self::assertEquals(1, $packages->count());
     self::assertEquals(1, $packages->current()->getFunctions()->count());
     $analyzer = new PHP_Depend_Metrics_Coupling_Analyzer();
     $analyzer->analyze($packages);
     $project = $analyzer->getProjectMetrics();
     self::assertEquals(3, $project['calls']);
 }
Ejemplo n.º 2
0
 /**
  * Test case for the execution chain bug 14.
  *
  * http://bugs.xplib.de/index.php?do=details&task_id=14&project=3
  *
  * @return void
  * @covers PHP_Depend_Metrics_Coupling_Analyzer
  * @group pdepend
  * @group pdepend::metrics
  * @group pdepend::metrics::coupling
  * @group unittest
  */
 public function testAnalyzerExecutionChainBug14()
 {
     $source = dirname(__FILE__) . '/../../_code/bugs/014.php';
     $packages = self::parseSource($source);
     $this->assertEquals(1, $packages->count());
     $this->assertEquals(1, $packages->current()->getFunctions()->count());
     $analyzer = new PHP_Depend_Metrics_Coupling_Analyzer();
     $analyzer->analyze($packages);
     $project = $analyzer->getProjectMetrics();
     $this->assertArrayHasKey('calls', $project);
     $this->assertEquals(3, $project['calls']);
 }
 /**
  * Tests that the analyzer calculates the expected result.
  *
  * @return void
  */
 public function testAnalyzerDetectsDifferentMethodCalls()
 {
     $packages = self::parseCodeResourceForTest();
     $analyzer = new PHP_Depend_Metrics_Coupling_Analyzer();
     $analyzer->analyze($packages);
     $project = $analyzer->getProjectMetrics();
     self::assertEquals(2, $project['calls']);
 }
 /**
  * Tests that the analyzer calculates the expected result.
  *
  * @return void
  */
 public function testAnalyzerDetectsObjectAllocation()
 {
     $packages = self::parseSource('bugs/089/' . __FUNCTION__ . '.php');
     $analyzer = new PHP_Depend_Metrics_Coupling_Analyzer();
     $analyzer->analyze($packages);
     $project = $analyzer->getProjectMetrics();
     $this->assertSame(0, $project['calls']);
 }
 /**
  * Tests that the analyzer calculates the expected result.
  *
  * @return void
  * @covers stdClass
  * @group pdepend
  * @group pdepend::bugs
  * @group regressiontest
  */
 public function testAnalyzerDetectsObjectAllocation()
 {
     $packages = self::parseTestCaseSource(__METHOD__);
     $analyzer = new PHP_Depend_Metrics_Coupling_Analyzer();
     $analyzer->analyze($packages);
     $project = $analyzer->getProjectMetrics();
     self::assertEquals(0, $project['calls']);
 }
Ejemplo n.º 6
0
 /**
  * Parses the source code for the currently calling test method and returns
  * the calculated project metrics.
  *
  * @param string $testCase Optional name of the calling test case.
  *
  * @return array(string=>mixed)
  * @since 0.10.2
  */
 private function _calculateProjectMetrics($testCase = null)
 {
     $testCase = $testCase ? $testCase : self::getCallingTestMethod();
     $analyzer = new PHP_Depend_Metrics_Coupling_Analyzer();
     $analyzer->analyze(self::parseTestCaseSource($testCase));
     return $analyzer->getProjectMetrics();
 }
Ejemplo n.º 7
0
 /**
  * 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);
 }