gossi\codegen\tests\model\ClassTest::testInterfaces PHP Method

testInterfaces() public method

public testInterfaces ( )
    public function testInterfaces()
    {
        $class = new PhpClass('my\\name\\space\\Class');
        $this->assertFalse($class->hasInterfaces());
        $this->assertTrue($class->getInterfaces()->isEmpty());
        $this->assertSame($class, $class->setInterfaces(['foo', 'bar']));
        $this->assertEquals(['foo', 'bar'], $class->getInterfaces()->toArray());
        $this->assertSame($class, $class->addInterface('stdClass'));
        $this->assertEquals(['foo', 'bar', 'stdClass'], $class->getInterfaces()->toArray());
        $this->assertTrue($class->hasInterfaces());
        $interface = new PhpInterface('my\\name\\space\\Interface');
        $class->addInterface($interface);
        $this->assertTrue($class->hasInterface('my\\name\\space\\Interface'));
        $this->assertSame($class, $class->removeInterface($interface));
        $class->addInterface(new PhpInterface('other\\name\\space\\Interface'));
        $this->assertTrue($class->hasUseStatement('other\\name\\space\\Interface'));
        $this->assertSame($class, $class->removeInterface('other\\name\\space\\Interface'));
        $this->assertTrue($class->hasUseStatement('other\\name\\space\\Interface'));
    }