getMockBuilder(TranslatorFactory::class)->getMock(); $translatorLocator = $this->getMockBuilder(TranslatorLocator::class)->disableOriginalConstructor()->getMock(); $packageLocator = $this->getMockBuilder(PackageLocator::class)->getMock(); $package = $this->getMockBuilder(Package::class)->getMock(); $formatter = $this->getMockBuilder(BasicFormatter::class)->getMock(); $formatterLocator = $this->getMockBuilder(FormatterLocator::class)->getMock(); $cacheEngineNullPackage = $this->getMockForAbstractClass('Cake\Cache\CacheEngine', [], '', true, true, true, ['read']); $translatorNullPackage = $this->getMockBuilder(Translator::class)->disableOriginalConstructor()->getMock(); $translatorNonNullPackage = $this->getMockBuilder(Translator::class)->disableOriginalConstructor()->getMock(); $translatorNonNullPackage ->method('getPackage') ->willReturn($package); $translatorFactory ->method('newInstance') ->willReturn($translatorNonNullPackage); $formatterLocator ->method('get') ->willReturn($formatter); $translatorLocator ->method('get') ->willReturn($formatter); $package ->method('getFormatter') ->willReturn('basic'); $packageLocator->method('get') ->willReturn($package); $cacheEngineNullPackage ->method('read') ->willReturn($translatorNullPackage); $registry = new TranslatorRegistry($packageLocator, $formatterLocator, $translatorFactory, 'en_CA'); $registry->setCacher($cacheEngineNullPackage); $this->assertNotNull($registry->get('default')->getPackage()); } }