def test_scenario2(self): """ Scenario: Successfully comparing centroids with configuration options: Given I create a data source uploading a "<data>" file And I wait until the source is ready less than <time_1> secs And I create a dataset And I wait until the dataset is ready less than <time_2> secs And I create a cluster with options "<options>" And I wait until the cluster is ready less than <time_3> secs And I create a local cluster When I create a centroid for "<data_input>" Then the centroid is "<centroid>" with distance "<distance>" And I create a local centroid for "<data_input>" Then the local centroid is "<centroid>" with distance "<distance>" Examples: | data | time_1 | time_2 | time_3 | options | data_input | centroid | distance | full_data_input """ examples = [ ['data/iris.csv', '30', '30', '30', '{"summary_fields": ["sepal width"]}', '{"petal length": 1, "petal width": 1, "sepal length": 1, "species": "Iris-setosa"}', 'Cluster 2', '1.16436', '{"petal length": 1, "petal width": 1, "sepal length": 1, "species": "Iris-setosa"}'], ['data/iris.csv', '20', '20', '30', '{"default_numeric_value": "zero"}', '{"petal length": 1}', 'Cluster 4', '1.41215', '{"petal length": 1, "petal width": 0, "sepal length": 0, "sepal width": 0, "species": ""}']] show_doc(self.test_scenario2, examples) for example in examples: print "\nTesting with:\n", example source_create.i_upload_a_file(self, example[0]) source_create.the_source_is_finished(self, example[1]) dataset_create.i_create_a_dataset(self) dataset_create.the_dataset_is_finished_in_less_than(self, example[2]) cluster_create.i_create_a_cluster_with_options(self, example[4]) cluster_create.the_cluster_is_finished_in_less_than(self, example[3]) prediction_compare.i_create_a_local_cluster(self) prediction_create.i_create_a_centroid(self, example[8]) prediction_create.the_centroid_is_with_distance(self, example[6], example[7]) prediction_compare.i_create_a_local_centroid(self, example[5]) prediction_compare.the_local_centroid_is(self, example[6], example[7])
def test_scenario2(self): """ Scenario: Successfully comparing centroids with configuration options: Given I create a data source uploading a "<data>" file And I wait until the source is ready less than <time_1> secs And I create a dataset And I wait until the dataset is ready less than <time_2> secs And I create a cluster with options "<options>" And I wait until the cluster is ready less than <time_3> secs And I create a local cluster When I create a centroid for "<data_input>" Then the centroid is "<centroid>" with distance "<distance>" And I create a local centroid for "<data_input>" Then the local centroid is "<centroid>" with distance "<distance>" Examples: | data | time_1 | time_2 | time_3 | options | data_input | centroid | distance | full_data_input """ examples = [ ['data/iris.csv', '20', '20', '30', '{"summary_fields": ["sepal width"]}', '{"petal length": 1, "petal width": 1, "sepal length": 1, "species": "Iris-setosa"}', 'Cluster 2', '1.16436', '{"petal length": 1, "petal width": 1, "sepal length": 1, "species": "Iris-setosa"}'], ['data/iris.csv', '20', '20', '30', '{"default_numeric_value": "zero"}', '{"petal length": 1}', 'Cluster 4', '1.41215', '{"petal length": 1, "petal width": 0, "sepal length": 0, "sepal width": 0, "species": ""}']] show_doc(self.test_scenario2, examples) for example in examples: print "\nTesting with:\n", example source_create.i_upload_a_file(self, example[0]) source_create.the_source_is_finished(self, example[1]) dataset_create.i_create_a_dataset(self) dataset_create.the_dataset_is_finished_in_less_than(self, example[2]) cluster_create.i_create_a_cluster_with_options(self, example[4]) cluster_create.the_cluster_is_finished_in_less_than(self, example[3]) prediction_compare.i_create_a_local_cluster(self) prediction_create.i_create_a_centroid(self, example[8]) prediction_create.the_centroid_is_with_distance(self, example[6], example[7]) prediction_compare.i_create_a_local_centroid(self, example[5]) prediction_compare.the_local_centroid_is(self, example[6], example[7])
def test_scenario5(self): """ Scenario: Successfully comparing centroids with summary fields: Given I create a data source uploading a "<data>" file And I wait until the source is ready less than <time_1> secs And I create a dataset And I wait until the dataset is ready less than <time_2> secs And I create a cluster with options "<options>" And I wait until the cluster is ready less than <time_3> secs And I create a local cluster When I create a centroid for "<data_input>" Then the centroid is "<centroid>" with distance "<distance>" And I create a local centroid for "<data_input>" Then the local centroid is "<centroid>" with distance "<distance>" Examples: | data | time_1 | time_2 | time_3 | options | data_input | centroid | distance | | ../data/iris.csv | 20 | 20 | 30 | {"summary_fields": ["sepal width"]} |{"petal length": 1, "petal width": 1, "sepal length": 1, "species": "Iris-setosa"} | Cluster 6 | 0.7310939266123302 | """ print self.test_scenario5.__doc__ examples = [ ['data/iris.csv', '20', '20', '30', '{"summary_fields": ["sepal width"]}', '{"petal length": 1, "petal width": 1, "sepal length": 1, "species": "Iris-setosa"}', 'Cluster 0', '0.7310939266123302']] for example in examples: print "\nTesting with:\n", example source_create.i_upload_a_file(self, example[0]) source_create.the_source_is_finished(self, example[1]) dataset_create.i_create_a_dataset(self) dataset_create.the_dataset_is_finished_in_less_than(self, example[2]) cluster_create.i_create_a_cluster_with_options(self, example[4]) cluster_create.the_cluster_is_finished_in_less_than(self, example[3]) prediction_compare.i_create_a_local_cluster(self) prediction_create.i_create_a_centroid(self, example[5]) prediction_create.the_centroid_is_with_distance(self, example[6], example[7]) prediction_compare.i_create_a_local_centroid(self, example[5]) prediction_compare.the_local_centroid_is(self, example[6], example[7])
def test_scenario2(self): """ Scenario: Successfully creating models for first centroid of a cluster: Given I create a data source uploading a "<data>" file And I wait until the source is ready less than <time_1> secs And I create a dataset And I wait until the dataset is ready less than <time_2> secs And I create a cluster with options "<options>" And I wait until the cluster is ready less than <time_3> secs When I create a model associated to centroid "<centroid_id>" And I wait until the model is ready less than <time_4> secs Then the model is associated to the centroid "<centroid_id>" of the cluster Examples: | data | time_1 | time_2 | time_3 | centroid_id | time_4 | | ../data/iris.csv | 10 | 10 | 40 | 000001 | 10 | """ print self.test_scenario2.__doc__ examples = [ ['data/iris.csv', '10', '10', '40', '000001', '10', '{"model_clusters": true}']] for example in examples: print "\nTesting with:\n", example source_create.i_upload_a_file(self, example[0]) source_create.the_source_is_finished(self, example[1]) dataset_create.i_create_a_dataset(self) dataset_create.the_dataset_is_finished_in_less_than(self, example[2]) cluster_create.i_create_a_cluster_with_options(self, example[6]) cluster_create.the_cluster_is_finished_in_less_than(self, example[3]) model_create.i_create_a_model_from_cluster(self, example[4]) model_create.the_model_is_finished_in_less_than(self, example[5]) model_create.is_associated_to_centroid_id(self, example[4])
def test_scenario5(self): """ Scenario: Successfully comparing centroids with summary fields: Given I create a data source uploading a "<data>" file And I wait until the source is ready less than <time_1> secs And I create a dataset And I wait until the dataset is ready less than <time_2> secs And I create a cluster with options "<options>" And I wait until the cluster is ready less than <time_3> secs And I create a local cluster When I create a centroid for "<data_input>" Then the centroid is "<centroid>" with distance "<distance>" And I create a local centroid for "<data_input>" Then the local centroid is "<centroid>" with distance "<distance>" Examples: | data | time_1 | time_2 | time_3 | options | data_input | centroid | distance | | ../data/iris.csv | 20 | 20 | 30 | {"summary_fields": ["sepal width"]} |{"petal length": 1, "petal width": 1, "sepal length": 1, "species": "Iris-setosa"} | Cluster 2 | 1.1643644909783857 | """ print self.test_scenario5.__doc__ examples = [ ['data/iris.csv', '20', '20', '30', '{"summary_fields": ["sepal width"]}', '{"petal length": 1, "petal width": 1, "sepal length": 1, "species": "Iris-setosa"}', 'Cluster 2', '1.1643644909783857']] for example in examples: print "\nTesting with:\n", example source_create.i_upload_a_file(self, example[0]) source_create.the_source_is_finished(self, example[1]) dataset_create.i_create_a_dataset(self) dataset_create.the_dataset_is_finished_in_less_than(self, example[2]) cluster_create.i_create_a_cluster_with_options(self, example[4]) cluster_create.the_cluster_is_finished_in_less_than(self, example[3]) prediction_compare.i_create_a_local_cluster(self) prediction_create.i_create_a_centroid(self, example[5]) prediction_create.the_centroid_is_with_distance(self, example[6], example[7]) prediction_compare.i_create_a_local_centroid(self, example[5]) prediction_compare.the_local_centroid_is(self, example[6], example[7])