Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 58 additions & 59 deletions tests/test_datasets/test_dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -276,65 +276,64 @@ def test_equality_comparison(self):
self.assertNotEqual(self.titanic, "Wrong_object")


class OpenMLDatasetTestOnTestServer(TestBase):
def setUp(self):
super().setUp()
# longley, really small dataset
self.dataset = openml.datasets.get_dataset(125, download_data=False)

def test_tagging(self):
# tags can be at most 64 alphanumeric (+ underscore) chars
unique_indicator = str(time()).replace(".", "")
tag = f"test_tag_OpenMLDatasetTestOnTestServer_{unique_indicator}"
datasets = openml.datasets.list_datasets(tag=tag)
assert datasets.empty
self.dataset.push_tag(tag)
datasets = openml.datasets.list_datasets(tag=tag)
assert len(datasets) == 1
assert 125 in datasets["did"]
self.dataset.remove_tag(tag)
datasets = openml.datasets.list_datasets(tag=tag)
assert datasets.empty

def test_get_feature_with_ontology_data_id_11(self):
# test on car dataset, which has built-in ontology references
dataset = openml.datasets.get_dataset(11)
assert len(dataset.features) == 7
assert len(dataset.features[1].ontologies) >= 2
assert len(dataset.features[2].ontologies) >= 1
assert len(dataset.features[3].ontologies) >= 1

def test_add_remove_ontology_to_dataset(self):
did = 1
feature_index = 1
ontology = "https://www.openml.org/unittest/" + str(time())
openml.datasets.functions.data_feature_add_ontology(did, feature_index, ontology)
openml.datasets.functions.data_feature_remove_ontology(did, feature_index, ontology)

def test_add_same_ontology_multiple_features(self):
did = 1
ontology = "https://www.openml.org/unittest/" + str(time())

for i in range(3):
openml.datasets.functions.data_feature_add_ontology(did, i, ontology)

def test_add_illegal_long_ontology(self):
did = 1
ontology = "http://www.google.com/" + ("a" * 257)
try:
openml.datasets.functions.data_feature_add_ontology(did, 1, ontology)
assert False
except openml.exceptions.OpenMLServerException as e:
assert e.code == 1105

def test_add_illegal_url_ontology(self):
did = 1
ontology = "not_a_url" + str(time())
try:
openml.datasets.functions.data_feature_add_ontology(did, 1, ontology)
assert False
except openml.exceptions.OpenMLServerException as e:
assert e.code == 1106
def test_tagging():
dataset = openml.datasets.get_dataset(125, download_data=False)

# tags can be at most 64 alphanumeric (+ underscore) chars
unique_indicator = str(time()).replace(".", "")
tag = f"test_tag_OpenMLDatasetTestOnTestServer_{unique_indicator}"
datasets = openml.datasets.list_datasets(tag=tag)
assert datasets.empty
dataset.push_tag(tag)
datasets = openml.datasets.list_datasets(tag=tag)
assert len(datasets) == 1
assert 125 in datasets["did"]
dataset.remove_tag(tag)
datasets = openml.datasets.list_datasets(tag=tag)
assert datasets.empty

def test_get_feature_with_ontology_data_id_11():
# test on car dataset, which has built-in ontology references
dataset = openml.datasets.get_dataset(11)
assert len(dataset.features) == 7
assert len(dataset.features[1].ontologies) >= 2
assert len(dataset.features[2].ontologies) >= 1
assert len(dataset.features[3].ontologies) >= 1

def test_add_remove_ontology_to_dataset():
did = 1
feature_index = 1
ontology = "https://www.openml.org/unittest/" + str(time())
openml.datasets.functions.data_feature_add_ontology(did, feature_index, ontology)
openml.datasets.functions.data_feature_remove_ontology(did, feature_index, ontology)

def test_add_same_ontology_multiple_features():
did = 1
ontology = "https://www.openml.org/unittest/" + str(time())

for i in range(3):
openml.datasets.functions.data_feature_add_ontology(did, i, ontology)


def test_add_illegal_long_ontology():
did = 1
ontology = "http://www.google.com/" + ("a" * 257)
try:
openml.datasets.functions.data_feature_add_ontology(did, 1, ontology)
assert False
except openml.exceptions.OpenMLServerException as e:
assert e.code == 1105



def test_add_illegal_url_ontology():
did = 1
ontology = "not_a_url" + str(time())
try:
openml.datasets.functions.data_feature_add_ontology(did, 1, ontology)
assert False
except openml.exceptions.OpenMLServerException as e:
assert e.code == 1106


@pytest.mark.production()
Expand Down