public function test_scenario5()
 {
     $data = array(array('filename' => 'data/iris.csv', 'expected_file' => 'data/model/predictions_distribution_iris.txt'), array('filename' => 'data/iris_sp_chars.csv', 'expected_file' => 'data/model/predictions_distribution_iris_sp_chars.txt'), array('filename' => 'data/spam.csv', 'expected_file' => 'data/model/predictions_distribution_spam.txt'), array('filename' => 'data/grades.csv', 'expected_file' => 'data/model/predictions_distribution_grades.txt'), array('filename' => 'data/diabetes.csv', 'expected_file' => 'data/model/predictions_distribution_diabetes.txt'), array('filename' => 'data/iris_missing2.csv', 'expected_file' => 'data/model/predictions_distribution_iris_missing2.txt'), array('filename' => 'data/tiny_kdd.csv', 'expected_file' => 'data/model/predictions_distribution_tiny_kdd.txt'));
     foreach ($data as $item) {
         print "\n Successfully creating a model and check its predictions distribution\n";
         print "Given I create a data source uploading a " . $item["filename"] . " file\n";
         $source = self::$api->create_source($item["filename"], $options = array('name' => 'local_test_source', 'project' => self::$project->resource));
         $this->assertEquals(BigMLRequest::HTTP_CREATED, $source->code);
         $this->assertEquals(1, $source->object->status->code);
         print "And I wait until the source is ready\n";
         $resource = self::$api->_check_resource($source->resource, null, 3000, 30);
         $this->assertEquals(BigMLRequest::FINISHED, $resource["status"]);
         print "And I create dataset with local source\n";
         $dataset = self::$api->create_dataset($source->resource);
         $this->assertEquals(BigMLRequest::HTTP_CREATED, $dataset->code);
         $this->assertEquals(BigMLRequest::QUEUED, $dataset->object->status->code);
         print "And I wait until the dataset is ready\n";
         $resource = self::$api->_check_resource($dataset->resource, null, 3000, 30);
         $this->assertEquals(BigMLRequest::FINISHED, $resource["status"]);
         print "And I create model\n";
         $model = self::$api->create_model($dataset->resource);
         $this->assertEquals(BigMLRequest::HTTP_CREATED, $model->code);
         print "And I wait until the model is ready " . $model->resource . "\n";
         $resource = self::$api->_check_resource($model->resource, null, 3000, 30);
         $this->assertEquals(BigMLRequest::FINISHED, $resource["status"]);
         print "And I create a local model\n";
         $local_model = new Model($model->resource, self::$api);
         print "Then I check the predictions distribution with " . $item["expected_file"] . " file\n";
         $file_distribution = file_get_contents($item["expected_file"]);
         $distribution = $local_model->get_prediction_distribution();
         $distribution_str = '';
         foreach ($distribution as $key => $value) {
             $distribution_str = $distribution_str . "[" . $key . "," . $value . "]\n";
         }
         $this->assertEquals($distribution_str, $file_distribution);
     }
 }