Exemplo n.º 1
0
    def test_secint(self):
        secint = mpc.SecInt()
        y = [1, 3, -2, 3, 1, -2, -2, 4] * 5
        random.shuffle(y)
        x = list(map(secint, y))
        self.assertEqual(mpc.run(mpc.output(mean(x))), round(statistics.mean(y)))
        self.assertEqual(mpc.run(mpc.output(variance(x))), round(statistics.variance(y)))
        self.assertEqual(mpc.run(mpc.output(variance(x, mean(x)))), round(statistics.variance(y)))
        self.assertEqual(mpc.run(mpc.output(stdev(x))), round(statistics.stdev(y)))
        self.assertEqual(mpc.run(mpc.output(pvariance(x))), round(statistics.pvariance(y)))
        self.assertEqual(mpc.run(mpc.output(pstdev(x))), round(statistics.pstdev(y)))
        self.assertEqual(mpc.run(mpc.output(mode(x))), round(statistics.mode(y)))
        self.assertEqual(mpc.run(mpc.output(median(x))), round(statistics.median(y)))
        self.assertEqual(mpc.run(mpc.output(median_low(x))), round(statistics.median_low(y)))
        self.assertEqual(mpc.run(mpc.output(median_high(x))), round(statistics.median_high(y)))
        self.assertEqual(mpc.run(mpc.output(quantiles(x[:2], n=3))),
                         statistics.quantiles(y[:2], n=3))
        self.assertEqual(mpc.run(mpc.output(quantiles(x, n=1))), statistics.quantiles(y, n=1))
        self.assertEqual(mpc.run(mpc.output(quantiles(x))), statistics.quantiles(y))
        x = list(range(16))
        y = list(reversed(x))
        self.assertAlmostEqual(covariance(x, y), -22.667, 3)
        x = list(map(secint, x))
        y = list(map(secint, y))
        self.assertEqual(mpc.run(mpc.output(covariance(x, y))), -23)

        self.assertRaises(ValueError, quantiles, x, method='wrong')
Exemplo n.º 2
0
 def test_secint(self):
     secint = mpc.SecInt()
     y = [1, 3, -2, 3, 1, -2, -2, 4] * 5
     random.shuffle(y)
     x = list(map(secint, y))
     self.assertEqual(mpc.run(mpc.output(mean(x))),
                      round(statistics.mean(y)))
     self.assertEqual(mpc.run(mpc.output(variance(x))),
                      round(statistics.variance(y)))
     self.assertEqual(mpc.run(mpc.output(variance(x, mean(x)))),
                      round(statistics.variance(y)))
     self.assertEqual(mpc.run(mpc.output(stdev(x))),
                      round(statistics.stdev(y)))
     self.assertEqual(mpc.run(mpc.output(pvariance(x))),
                      round(statistics.pvariance(y)))
     self.assertEqual(mpc.run(mpc.output(pstdev(x))),
                      round(statistics.pstdev(y)))
     self.assertEqual(mpc.run(mpc.output(mode(x))),
                      round(statistics.mode(y)))
     self.assertEqual(mpc.run(mpc.output(median(x))),
                      round(statistics.median(y)))
     self.assertEqual(mpc.run(mpc.output(median_low(x))),
                      round(statistics.median_low(y)))
     self.assertEqual(mpc.run(mpc.output(median_high(x))),
                      round(statistics.median_high(y)))