public function test_scenario3() { $data = array(array('filename' => 'data/tiny_mushrooms.csv', 'item_list' => array('Edible'), 'json_rule' => '{"rule_id":"000007","confidence":0.79279,"leverage":0.07885,"lhs":[0],"lhs_cover":[0.888,222],"p_value":2.08358e-17,"rhs":[11],"rhs_cover":[0.704,176],"lift":1.12613,"support":[0.704,176]}', 'seach_strategy' => 'lhs_cover')); foreach ($data as $item) { print "\nSuccessfully creating local association object\n"; print "Given I create a data source uploading a " . $item["filename"] . " file\n"; $source = self::$api->create_source($item["filename"], $options = array('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, 20000, 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 an association with search strategy <" . $item["seach_strategy"] . "> from a dataset"; $association = self::$api->create_association($dataset->resource, array('name' => 'new association', 'search_strategy' => $item['seach_strategy'])); $this->assertEquals(BigMLRequest::HTTP_CREATED, $association->code); print "And I wait until the association is ready\n"; $resource = self::$api->_check_resource($association->resource, null, 10000, 30); $this->assertEquals(BigMLRequest::FINISHED, $resource["status"]); print $association->resource . "\n"; $association = self::$api->get_association($association->resource); print "And I create a local association\n"; $local_association = new Association($association); print "When I get the rules for " . json_encode($item["item_list"]) . "\n"; $association_rules = $local_association->get_rules(null, null, null, null, $item["item_list"]); print "Then the first rule is <" . $item["json_rule"] . ">\n"; $this->assertEquals($association_rules[0]->to_json(), $item["json_rule"]); } }