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 testParseString() { $content = file_get_contents(__DIR__ . '/SampleClass.php'); $parsedClass = $this->parser->parseString($content); $this->assertEquals("SampleClass", $parsedClass->getName()); }