Goetas\Xsd\XsdToPhp\Tests\Converter\PHP\Xsd2PhpGroupTest::testSomeInheritance PHP Method

testSomeInheritance() public method

public testSomeInheritance ( )
    public function testSomeInheritance()
    {
        $content = '
             <xs:schema targetNamespace="http://www.example.com" xmlns:xs="http://www.w3.org/2001/XMLSchema"  xmlns:ex="http://www.example.com">
                <xs:complexType name="complexType-1">
                     <xs:attribute name="attribute-2" type="xs:string"/>
                     <xs:sequence>
                            <xs:element name="complexType-1-el-1" type="xs:string"/>
                     </xs:sequence>
                </xs:complexType>
                <xs:complexType name="complexType-2">
                     <xs:complexContent>
                        <xs:extension base="ex:complexType-1">
                             <xs:sequence>
                                <xs:element name="complexType-2-el1" type="xs:string"></xs:element>
                            </xs:sequence>
                            <xs:attribute name="complexType-2-att1" type="xs:string"></xs:attribute>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:schema>
            ';
        $classes = $this->getClasses($content);
        $this->assertCount(2, $classes);
        $this->assertInstanceOf('Goetas\\Xsd\\XsdToPhp\\Php\\Structure\\PHPClass', $complexType1 = $classes['Example\\ComplexType1Type']);
        $this->assertInstanceOf('Goetas\\Xsd\\XsdToPhp\\Php\\Structure\\PHPClass', $complexType2 = $classes['Example\\ComplexType2Type']);
        $this->assertSame($complexType1, $complexType2->getExtends());
        $property = $complexType2->getProperty('complexType2Att1');
        $this->assertEquals('complexType2Att1', $property->getName());
        $this->assertEquals('', $property->getType()->getNamespace());
        $this->assertEquals('string', $property->getType()->getName());
        $property = $complexType2->getProperty('complexType2El1');
        $this->assertEquals('complexType2El1', $property->getName());
        $this->assertEquals('', $property->getType()->getNamespace());
        $this->assertEquals('string', $property->getType()->getName());
    }