public function testIsSubtypeWithNamedTypes()
 {
     $bar = new \Scrutinizer\PhpAnalyzer\Model\InterfaceC('Bar');
     $bar->setNormalized(true);
     $foo = new Clazz('Foo');
     $foo->setNormalized(true);
     $this->assertFalse($foo->isSubtypeOf($bar));
     $foo->addImplementedInterface('Bar');
     $namedBar = NamedType::createResolved($this->registry, $bar);
     $this->assertTrue($foo->isSubTypeOf($namedBar));
     $this->assertTrue($foo->isSubTypeOf($bar));
     $namedFoo = NamedType::createResolved($this->registry, $foo);
     $this->assertTrue($namedFoo->isSubtypeOf($namedBar));
     $this->assertTrue($namedFoo->isSubtypeOf($bar));
     $unresolvedNamedBar = new NamedType($this->registry, 'Bar');
     $this->assertTrue($foo->isSubtypeOf($unresolvedNamedBar));
     $this->assertTrue($namedFoo->isSubtypeOf($unresolvedNamedBar));
     $baz = new InterfaceC('Baz');
     $baz->setNormalized(true);
     $this->assertFalse($baz->isSubtypeOf($bar));
     $this->assertFalse($baz->isSubtypeOf($namedBar));
     $this->assertFalse($baz->isSubtypeOf($unresolvedNamedBar));
     $baz->addExtendedInterface('Bar');
     $this->assertTrue($baz->isSubtypeOf($bar));
     $this->assertTrue($baz->isSubtypeOf($namedBar));
     $this->assertTrue($baz->isSubtypeOf($unresolvedNamedBar));
 }