/**
  * @param array $data
  *
  * @return void
  * @dataProvider getData
  */
 public function test_function(array $data)
 {
     // prepare
     $this->setExpectedException($data['exception'], $data['errorMessage']);
     // invoke logic & test
     SimpleArrayLibrary::castColumns($data['matrix'], $data['map'], $data['allKeysMustBePresent']);
 }
 /**
  * @param array $data
  *
  * @return void
  * @dataProvider getData
  */
 public function test_function(array $data)
 {
     // invoke logic & test
     if (!$data['allKeysMustBePresent']) {
         $this->assertEquals($data['expResult'], SimpleArrayLibrary::castColumns($data['matrix'], $data['columns'], $data['allKeysMustBePresent']));
     } else {
         $this->assertEquals($data['expResult'], SimpleArrayLibrary::castColumns($data['matrix'], $data['columns']));
     }
 }