/** * @param array $mapNotOverridableProfessional * @param array $mapNotOverridableEnterprise * @param string $edition * @param array $result * * @dataProvider providerGetsNotOverridableClassMap */ public function testGetsNotOverridableClassMap($mapNotOverridableProfessional, $mapNotOverridableEnterprise, $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('getNotOverridableMap')->will($this->returnValue($mapNotOverridableProfessional)); $classMapProfessional->expects($this->any())->method('getOverridableMap')->will($this->returnValue(array())); $classMapEnterprise = $this->getMock('EnterpriseClassMap', array('getNotOverridableMap', 'getOverridableMap')); $classMapEnterprise->expects($this->any())->method('getNotOverridableMap')->will($this->returnValue($mapNotOverridableEnterprise)); $classMapEnterprise->expects($this->any())->method('getOverridableMap')->will($this->returnValue(array())); $classMapSelector = new ClassMapProvider($editionSelector); $classMapSelector->setClassMapProfessional($classMapProfessional); $classMapSelector->setClassMapEnterprise($classMapEnterprise); $this->assertSame($result, $classMapSelector->getNotOverridableClassMap()); }