/**
  * @dataProvider getData
  *
  * @param array $data
  *
  * @return void
  */
 public function test_function(array $data)
 {
     // prepare
     $this->setExpectedException($data['exception'], $data['errorMessage']);
     DataContainer::initDataContainer(['collection' => ['id' => []]]);
     $reflection = new \ReflectionClass(DataContainer::getInstance());
     $validateCollectionsMethod = $reflection->getMethod('validateIds');
     $validateCollectionsMethod->setAccessible(true);
     // invoke logic & test
     $validateCollectionsMethod->invoke(DataContainer::getInstance(), $data['collection'], $data['id']);
 }
 /**
  * @return void
  */
 public function test_function()
 {
     // prepare
     $this->setExpectedException('\\UnexpectedValueException', 'Collection \'fooBar\' does not exist');
     DataContainer::initDataContainer(['collection' => []]);
     $reflection = new \ReflectionClass(DataContainer::getInstance());
     $validateCollectionsMethod = $reflection->getMethod('validateCollections');
     $validateCollectionsMethod->setAccessible(true);
     // invoke logic & test
     $validateCollectionsMethod->invoke(DataContainer::getInstance(), ['collection']);
     $validateCollectionsMethod->invoke(DataContainer::getInstance(), ['fooBar']);
 }
 /**
  * @return void
  */
 public function test_function()
 {
     // prepare
     $dataArray = [1];
     DataContainer::initDataContainer($dataArray);
     $reflection = new \ReflectionClass('\\DbMockLibrary\\DataContainer');
     $staticProperties = $reflection->getStaticProperties();
     $dataProperty = $reflection->getProperty('data');
     $dataProperty->setAccessible(true);
     // test
     $this->assertEquals($dataArray, $dataProperty->getValue($staticProperties['instance']));
     // prepare
     $dataProperty->setValue($staticProperties['instance'], [2]);
     // test
     $this->assertNotEquals($dataArray, $dataProperty->getValue($staticProperties['instance']));
     // invoke logic
     DataContainer::getInstance()->resetData();
     // test
     $this->assertEquals($dataArray, $dataProperty->getValue($staticProperties['instance']));
 }