storageProvider = new ClassLikeStorageProvider(); $this->fileReferenceProvider = new FileReferenceProvider(); $this->statementsProvider = new StatementsProvider($this->file_provider); $this->providers = new Providers($this->file_provider); $this->progress = new VoidProgress(); $this->codebase = new Codebase( $this->testConfig, $this->providers, $this->progress ); $this->fileStorageProvider = new FileStorageProvider(); $this->reflection = new Reflection( $this->storageProvider, $this->codebase ); $this->codebaseScanner = new Scanner( $this->codebase, $this->testConfig, $this->fileStorageProvider, $this->file_provider, $this->reflection, $this->fileReferenceProvider, $this->progress ); $this->classLikes = new ClassLikes( $this->testConfig, $this->storageProvider, $this->fileReferenceProvider, $this->statementsProvider, $this->codebaseScanner ); } public function testWillDetectClassImplementingAliasedInterface(): void { $this->classLikes->addClassAlias('Foo', 'bar'); $classStorage = new ClassLikeStorage('Baz'); $classStorage->class_implements['bar'] = 'Bar'; $this->storageProvider->addMore(['baz' => $classStorage]); self::assertTrue($this->classLikes->classImplements('Baz', 'Foo')); } }