public function testParserAsComponentReturnsDynamicComponents()
 {
     $class = $this->parser->parse(__DIR__ . '/SampleClass.php');
     $lines = $class->getLines();
     $classLine = $lines[5];
     $this->assertInstanceOf('PHPRealCoverage\\Parser\\Model\\DynamicClassnameCoveredLine', $classLine);
     $class->setName('Replacement');
     $this->assertEquals('class Replacement', (string) $classLine);
 }
 public function testProxyCanExchangeTheBehavior()
 {
     // arrange
     $behavior1 = "namespace ProxyTest;\nclass ClassA {\n    public function returnSomething()\n    {\n        return 'something';\n    }\n}";
     $behavior2 = "namespace ProxyTest;\nclass ClassA {\n    public function returnSomething()\n    {\n        return 'anything';\n    }\n}";
     $parser = new ClassParser();
     $class1 = $parser->parseString($behavior1);
     $class2 = $parser->parseString($behavior2);
     // act
     $proxy = new ProxyAccessor($class1);
     $proxy->load();
     $name = "\\ProxyTest\\ClassA";
     $instance = new $name();
     $this->assertEquals('something', $instance->returnSomething());
     $proxy->loadClass($class2);
     //assert
     $this->assertEquals("anything", $instance->returnSomething());
 }
 public function parseClass($filename, array $coverageData)
 {
     $coveredClass = $this->parser->parse($filename);
     $this->addCoverage($coveredClass, $coverageData);
     return $coveredClass;
 }