/** * @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()); }