Example #1
0
 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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
    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"])