Ejemplo n.º 1
0
 def test_init(self):
     s = HyperLogLog(0.05)
     s.upgrade()
     self.assertEqual(s.p, 9)
     self.assertEqual(s.alpha, 0.7197831133217303)
     self.assertEqual(s.m, 512)
     self.assertEqual(len(s.M), 512)
Ejemplo n.º 2
0
 def test_pickle(self):
     a = HyperLogLog(0.05)
     for x in range(100):
         a.add(str(x))
     a.upgrade()
     b = pickle.loads(pickle.dumps(a))
     numpy.testing.assert_array_equal(a.M, b.M)
     self.assertEqual(a.alpha, b.alpha)
     self.assertEqual(a.p, b.p)
     self.assertEqual(a.m, b.m)
     self.assertEqual(len(a), len(b))
Ejemplo n.º 3
0
    def test_add(self):
        s = HyperLogLog(0.05)

        for i in range(10):
            s.add(str(i))

        s.upgrade()

        M = [(i, v) for i, v in enumerate(s.M) if v > 0]

        numpy.testing.assert_array_equal(
            M, [(1, 1), (41, 1), (44, 1), (76, 3), (103, 4), (182, 1), (442, 2), (464, 5), (497, 1), (506, 1)])