Example #1
0
 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'));
 }