SensioLabs\Deptrac\Tests\DependencyInheritanceFlatterTest::testFlattenDependencies PHP Метод

testFlattenDependencies() публичный Метод

    public function testFlattenDependencies()
    {
        $astMap = $this->prophesize(AstMap::class);
        $astMap->getAstClassReferences()->willReturn([$this->getAstReference('classA'), $this->getAstReference('classB'), $this->getAstReference('classBaum'), $this->getAstReference('classWeihnachtsbaum'), $this->getAstReference('classGeschmückterWeihnachtsbaum')]);
        $dependencyResult = new DependencyResult();
        $dependencyResult->addDependency($classADep = $this->getDependency('classA'));
        $dependencyResult->addDependency($classBDep = $this->getDependency('classB'));
        $dependencyResult->addDependency($classBaumDep = $this->getDependency('classBaum'));
        $dependencyResult->addDependency($classWeihnachtsbaumsDep = $this->getDependency('classWeihnachtsbaumsA'));
        $astMap->getClassInherits('classA')->willReturn([]);
        $astMap->getClassInherits('classB')->willReturn([]);
        $astMap->getClassInherits('classBaum')->willReturn([]);
        $astMap->getClassInherits('classWeihnachtsbaum')->willReturn([AstInherit::newUses('classBaum', 3)]);
        $astMap->getClassInherits('classGeschmückterWeihnachtsbaum')->willReturn([new FlattenAstInherit(AstMap\AstInherit::newExtends('classBaum', 3), [AstInherit::newUses('classWeihnachtsbaum', 3)])]);
        (new DependencyInheritanceFlatter())->flattenDependencies($astMap->reveal(), $dependencyResult);
        $inheritDeps = array_filter($dependencyResult->getDependenciesAndInheritDependencies(), function ($v) {
            return $v instanceof InheritDependency;
        });
        $this->assertCount(1, $inheritDeps);
    }