/** * @test */ public function createAPropertyWithSomeArguments() { $name = 'getFoo'; $method = new Stagehand_PHP_Class_Method($name); $foo = new Stagehand_PHP_Class_Method_Argument('foo'); $bar = new Stagehand_PHP_Class_Method_Argument('bar'); $baz = new Stagehand_PHP_Class_Method_Argument('baz'); $method->addArgument($foo); $method->addArgument($bar); $method->addArgument($baz); $method->setCode('$a = 0; return 1;'); $this->assertEquals($method->getName(), $name); $this->assertEquals($method->getVisibility(), 'public'); $this->assertTrue($method->isPublic()); $this->assertFalse($method->isProtected()); $this->assertFalse($method->isPrivate()); $arguments = $method->getArguments(); $this->assertEquals(count($arguments), 3); $this->assertSame($arguments['foo'], $foo); $this->assertSame($arguments['bar'], $bar); $this->assertSame($arguments['baz'], $baz); }