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