def test_set_attribute_type__single_attribute(self): dataset = Dataset(self.test_data) dataset._set_attribute_type("id", AttributeType.QUASIIDENTIFYING) self.assertEqual(AttributeType.QUASIIDENTIFYING.value, dataset._attributes[0].type.value) self.assertEqual(Dataset._DEFAULT_ATTRIBUTE_TYPE.value, dataset._attributes[1].type.value)
def test_set_hierarchy(self): test_hierarchy = [["0", "*"], ["1", "*"]] dataset = Dataset(self.test_data) dataset._set_attribute_type("id", AttributeType.QUASIIDENTIFYING) dataset.set_hierarchy("id", test_hierarchy) self.assertEqual(dataset._attributes[0].hierarchy, test_hierarchy)
def test_set_hierarchy__not_valid_attribute_name(self): test_hierarchy = [["0", "*"], ["1", "*"]] dataset = Dataset(self.test_data) dataset._set_attribute_type("id", AttributeType.QUASIIDENTIFYING) with self.assertRaises(KeyError): dataset.set_hierarchy("fail", test_hierarchy) self.assertIsNone(dataset._attributes[0].hierarchy)
def test_set_hierarchy_with_pandas(self): test_hierarchy = [["0", "*"], ["1", "*"]] hierarchy_df = pandas.DataFrame(test_hierarchy) dataset = Dataset(self.test_data) dataset._set_attribute_type("id", AttributeType.QUASIIDENTIFYING) dataset.set_hierarchy("id", hierarchy_df) self.assertEqual(dataset._attributes[0].hierarchy, test_hierarchy)
def test_set_hierarchy__not_valid_attribute_type(self): test_hierarchy = [["0", "*"], ["1", "*"]] dataset = Dataset(self.test_data) dataset._set_attribute_type("id", AttributeType.INSENSITIVE) with self.assertRaises(ValueError): dataset.set_hierarchy("id", test_hierarchy) self.assertIsNone(dataset._attributes[0].hierarchy) self.assertIsNot(test_hierarchy, dataset._attributes[0].hierarchy)
def test_set_hierarchies(self): test_hierarchy_id = [["0", "*"], ["1", "*"]] test_hierarchy_name = [["Viktor", "*"], ["Jerry", "*"]] dataset = Dataset(self.test_data) dataset._set_attribute_type("id", AttributeType.QUASIIDENTIFYING) dataset._set_attribute_type("name", AttributeType.QUASIIDENTIFYING) dataset.set_hierarchies({ "id": test_hierarchy_id, "name": test_hierarchy_name }) self.assertEqual(dataset._attributes[0].hierarchy, test_hierarchy_id) self.assertEqual(dataset._attributes[1].hierarchy, test_hierarchy_name)
def test__payload__with_hierarchies(self): test_hierarchy_id = [["0", "*"], ["1", "*"]] test_hierarchy_name = [["Viktor", "NAME"], ["Jerry", "NAME"]] dataset = Dataset(self.test_data) dataset._set_attribute_type("id", AttributeType.QUASIIDENTIFYING) dataset._set_attribute_type("name", AttributeType.QUASIIDENTIFYING) dataset.set_hierarchies({ "id": test_hierarchy_id, "name": test_hierarchy_name }) payload = dataset._payload() self.assertEqual(test_hierarchy_id, payload["attributes"][0]["hierarchy"]) self.assertEqual(test_hierarchy_name, payload["attributes"][1]["hierarchy"])