gossi\codegen\tests\model\MethodTest::testParameters PHP Method

testParameters() public method

public testParameters ( )
    public function testParameters()
    {
        $method = new PhpMethod('needsName');
        $this->assertEquals([], $method->getParameters());
        $this->assertSame($method, $method->setParameters($params = [new PhpParameter('a')]));
        $this->assertSame($params, $method->getParameters());
        $this->assertSame($method, $method->addParameter($param = new PhpParameter('b')));
        $this->assertSame($param, $method->getParameter('b'));
        $this->assertSame($param, $method->getParameter(1));
        $params[] = $param;
        $this->assertSame($params, $method->getParameters());
        $this->assertSame($method, $method->removeParameter(0));
        $this->assertEquals('b', $method->getParameter(0)->getName());
        unset($params[0]);
        $this->assertEquals([$param], $method->getParameters());
        $this->assertSame($method, $method->addParameter($param = new PhpParameter('c')));
        $params[] = $param;
        $params = array_values($params);
        $this->assertSame($params, $method->getParameters());
        $this->assertSame($method, $method->replaceParameter(0, $param = new PhpParameter('a')));
        $params[0] = $param;
        $this->assertSame($params, $method->getParameters());
        $method->removeParameter($param);
        $method->removeParameter('c');
        $this->assertEquals([], $method->getParameters());
    }