/** * @param array $mapOverridableProfessional * @param array $mapOverridableEnterprise * @param string $edition * @param array $result * * @dataProvider providerGetsNotOverridableClassMap */ public function testGetsOverridableClassMap($mapOverridableProfessional, $mapOverridableEnterprise, $edition, $result) { /** @var EditionSelector|PHPUnit_Framework_MockObject_MockObject $editionSelector */ $editionSelector = $this->getMockBuilder('\\OxidEsales\\Eshop\\Core\\Edition\\EditionSelector')->getMock(); $editionSelector->expects($this->atLeastOnce())->method('getEdition')->will($this->returnValue($edition)); $classMapProfessional = $this->getMock('ProfessionalClassMap', array('getNotOverridableMap', 'getOverridableMap')); $classMapProfessional->expects($this->any())->method('getOverridableMap')->will($this->returnValue($mapOverridableProfessional)); $classMapProfessional->expects($this->any())->method('getNotOverridableMap')->will($this->returnValue(array())); $classMapEnterprise = $this->getMock('EnterpriseClassMap', array('getNotOverridableMap', 'getOverridableMap')); $classMapEnterprise->expects($this->any())->method('getOverridableMap')->will($this->returnValue($mapOverridableEnterprise)); $classMapEnterprise->expects($this->any())->method('getNotOverridableMap')->will($this->returnValue(array())); $classMapSelector = new ClassMapProvider($editionSelector); $classMapSelector->setClassMapProfessional($classMapProfessional); $classMapSelector->setClassMapEnterprise($classMapEnterprise); $this->assertSame($result, $classMapSelector->getOverridableClassMap()); }
/** * Returns object instance * * @return oxUtilsObject */ public static function getInstance() { // disable caching for test modules if (defined('OXID_PHP_UNIT')) { self::$_instance = null; } if (!self::$_instance instanceof UtilsObject) { // allow modules $oUtilsObject = new UtilsObject(); $classMapProvider = new ClassMapProvider(new EditionSelector()); $classNameProvider = new ClassNameProvider($classMapProvider->getOverridableClassMap()); $moduleVariablesCache = $oUtilsObject->oxNew('oxFileCache'); $shopIdCalculator = $oUtilsObject->oxNew('oxShopIdCalculator', $moduleVariablesCache); $subShopSpecific = $oUtilsObject->oxNew('oxSubShopSpecificFileCache', $shopIdCalculator); $moduleVariablesLocator = $oUtilsObject->oxNew('oxModuleVariablesLocator', $subShopSpecific, $shopIdCalculator); $moduleChainsGenerator = $oUtilsObject->oxNew('oxModuleChainsGenerator', $moduleVariablesLocator); self::$_instance = $oUtilsObject->oxNew('oxUtilsObject', $classNameProvider, $moduleChainsGenerator, $shopIdCalculator); } return self::$_instance; }