/**
  * @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());
 }
示例#2
0
 /**
  * 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;
 }