Example #1
0
    def test_accountant(self):
        from diffprivlib.accountant import BudgetAccountant
        acc = BudgetAccountant(1.5, 0)

        a = np.random.random((1000, 5)).round()
        count_nonzero(a, epsilon=1, accountant=acc)
        self.assertEqual((1.0, 0), acc.total())

        with acc:
            with self.assertRaises(BudgetError):
                count_nonzero(a, epsilon=1)
Example #2
0
    def test_nan(self):
        a = np.random.random((5, 5)).round()
        a[2, 2] = np.nan

        res = count_nonzero(a)
        self.assertFalse(np.isnan(res))
Example #3
0
    def test_keepdims(self):
        a = np.random.random((5, 5)).round()

        self.assertEqual(count_nonzero(a, axis=0).ndim, 1)
        self.assertEqual(count_nonzero(a, axis=0, keepdims=True).ndim, 2)
        self.assertEqual(count_nonzero(a, axis=0, keepdims=True).shape, (1, 5))
Example #4
0
 def test_axis(self):
     a = np.random.random((1000, 5)).round()
     res_dp = count_nonzero(a, epsilon=1, axis=0)
     self.assertEqual(res_dp.shape, (5, ))
Example #5
0
    def test_strings(self):
        a = ["", "", "Diffprivlib", "Diffprivlib", "Python", "Numpy"]
        res = np.count_nonzero(a)
        res_dp = count_nonzero(a, epsilon=float("inf"))

        self.assertEqual(res, res_dp)
Example #6
0
 def test_array_like(self):
     self.assertIsNotNone(count_nonzero([-1, 0, 1]))
     self.assertIsNotNone(count_nonzero((-1, 0, 1)))
Example #7
0
    def test_large_epsilon(self):
        a = np.random.random(1000).round()
        res = float(np.count_nonzero(a))
        res_dp = count_nonzero(a, epsilon=5)

        self.assertAlmostEqual(res, res_dp, delta=0.01 * res)
Example #8
0
    def test_inf_epsilon(self):
        a = np.random.random(1000).round()
        res = float(np.count_nonzero(a))
        res_dp = count_nonzero(a, epsilon=float("inf"))

        self.assertAlmostEqual(res, res_dp)
Example #9
0
 def test_no_epsilon(self):
     a = np.array([1, 2, 3])
     self.assertIsNotNone(count_nonzero(a))
Example #10
0
 def test_no_params(self):
     a = np.array([1, 2, 3])
     res = count_nonzero(a)
     self.assertIsNotNone(res)