From cdf23544500c345ad0b082d861b49429f8ea4bb4 Mon Sep 17 00:00:00 2001 From: Prachi-Agr Date: Thu, 23 Sep 2021 19:54:10 +0530 Subject: [PATCH 1/2] sklearn_tests --- tests/sklearn_ml/test_sklearnpipeline.py | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 tests/sklearn_ml/test_sklearnpipeline.py diff --git a/tests/sklearn_ml/test_sklearnpipeline.py b/tests/sklearn_ml/test_sklearnpipeline.py new file mode 100644 index 00000000..75ed9296 --- /dev/null +++ b/tests/sklearn_ml/test_sklearnpipeline.py @@ -0,0 +1,27 @@ +import pytest +from pydp.ml.mechanisms.sklearn_pipeline import LaplaceMechanism +import numbers +import numpy as np + +class TestLocalDP: + self.laplace_object=LaplaceMechanism() + def test_epsilon_type(self): + assert isinstance(self.laplace_object.epsilon,numbers.Number) + def test_epsilon_val(self): + assert self.laplace_object.epsilon > 0 + + def test_sensitivity(self): + if(isinstance(self.laplace_object.sensitivity, numbers.Number)): + assert self.laplace_object.sensitivity > 0 + + @pytest.mark.parametrize("array", [np.array([1,2,3,4]), np.array([[1,2,4,5],[7,8,9,10]])]) + def test_sensitivity_calculation(self,array): + noisy_array=self.laplace_object.sensitivity_calculation(array) + assert isinstance(noisy_array,np.array) + assert array.shape==noisy_array.shape + assert noisy_array.ndim==2 + + + + + From d5b4d691e4dca7ec8df26ad825d55d6921f31cd1 Mon Sep 17 00:00:00 2001 From: Prachi-Agr Date: Fri, 24 Sep 2021 01:14:33 +0530 Subject: [PATCH 2/2] sklearn pipeline tests --- tests/sklearn_ml/test_sklearnpipeline.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tests/sklearn_ml/test_sklearnpipeline.py b/tests/sklearn_ml/test_sklearnpipeline.py index 75ed9296..147462a2 100644 --- a/tests/sklearn_ml/test_sklearnpipeline.py +++ b/tests/sklearn_ml/test_sklearnpipeline.py @@ -4,23 +4,26 @@ import numpy as np class TestLocalDP: - self.laplace_object=LaplaceMechanism() def test_epsilon_type(self): - assert isinstance(self.laplace_object.epsilon,numbers.Number) + assert isinstance(LaplaceMechanism().epsilon,numbers.Number) def test_epsilon_val(self): - assert self.laplace_object.epsilon > 0 + assert LaplaceMechanism().epsilon > 0 def test_sensitivity(self): - if(isinstance(self.laplace_object.sensitivity, numbers.Number)): - assert self.laplace_object.sensitivity > 0 + if(isinstance(LaplaceMechanism().sensitivity, numbers.Number)): + assert LaplaceMechanism().sensitivity > 0 - @pytest.mark.parametrize("array", [np.array([1,2,3,4]), np.array([[1,2,4,5],[7,8,9,10]])]) + @pytest.mark.parametrize("array", [np.array([[1,2,4,5],[7,8,9,10]])]) def test_sensitivity_calculation(self,array): - noisy_array=self.laplace_object.sensitivity_calculation(array) - assert isinstance(noisy_array,np.array) + sensitivity_example=sensitivity_callable() + noisy_array=LaplaceMechanism(epsilon=1,sensitivity=sensitivity_example).sensitivity_calculation(array) + assert isinstance(noisy_array,np.ndarray) assert array.shape==noisy_array.shape assert noisy_array.ndim==2 +class sensitivity_callable: + def __call__(self,x): + return abs(x[0]-0.1)