/** * @test */ public function accessMethodAndUpdate() { $className = 'ExampleForMethodUpdate'; $class = new Stagehand_PHP_Class($className); $method1 = new Stagehand_PHP_Class_Method('foo'); $method1->setCode('return 100;'); $class->addMethod($method1); $this->assertSame($class->getMethod('foo'), $method1); $method2 = new Stagehand_PHP_Class_Method('foo'); $method2->setCode('return 200;'); $class->setMethod($method2); $this->assertSame($class->getMethod('foo'), $method2); $class->load(); $instance = new $className(); $this->assertEquals($instance->foo(), 200); }