public function testMethods() { $methods = array(); $methods[1] = new Method('public', 'method1', '', ''); $methods[2] = new Method('public', 'method2', '', ''); $methods[3] = new Method('public', 'method3', '', ''); $methods[4] = new Method('public', 'method4', '', ''); $definition = new Definition('Class1'); // addMethod $definition->addMethod($methods[1]); $definition->addMethod($methods[2]); $this->assertSame(array($methods[1], $methods[2]), $definition->getMethods()); // setMethods $definition->setMethods(array($methods[3], $methods[4])); $this->assertSame(array($methods[3], $methods[4]), $definition->getMethods()); // hasMethodByName $this->assertTrue($definition->hasMethodByName('method3')); $this->assertFalse($definition->hasMethodByName('method1')); // getMethodByName $this->assertSame($methods[3], $definition->getMethodByName('method3')); $this->assertSame($methods[4], $definition->getMethodByName('method4')); // removeMethodByName $definition->setMethods($methods); $definition->removeMethodByName('method2'); $this->assertFalse($definition->hasMethodByName('method2')); $this->assertTrue($definition->hasMethodByName('method1')); $this->assertTrue($definition->hasMethodByName('method3')); $this->assertTrue($definition->hasMethodByName('method4')); }