def test_init(self): bm = bBitMinHash(self.m, 1) bm = bBitMinHash(self.m, 2) bm = bBitMinHash(self.m, 3) bm = bBitMinHash(self.m, 4) bm = bBitMinHash(self.m, 5) bm = bBitMinHash(self.m, 8) bm = bBitMinHash(self.m, 12) bm = bBitMinHash(self.m, 16) bm = bBitMinHash(self.m, 27) bm = bBitMinHash(self.m, 32)
def test_jaccard(self): m1 = minhash.MinHash(4, 1, hashobj=FakeHash) m2 = minhash.MinHash(4, 1, hashobj=FakeHash) bm1 = bBitMinHash(m1) bm2 = bBitMinHash(m2) self.assertTrue(bm1.jaccard(bm2) == 1.0) m2.update(12) bm2 = bBitMinHash(m2) self.assertTrue(bm1.jaccard(bm2) < 1.0) m1.update(13) bm1 = bBitMinHash(m1) self.assertTrue(bm1.jaccard(bm2) < 1.0)
def test_jaccard(self): m1 = minhash.MinHash(4, 1) m2 = minhash.MinHash(4, 1) bm1 = bBitMinHash(m1) bm2 = bBitMinHash(m2) self.assertTrue(bm1.jaccard(bm2) == 1.0) m2.digest(FakeHash(12)) bm2 = bBitMinHash(m2) self.assertTrue(bm1.jaccard(bm2) < 1.0) m1.digest(FakeHash(13)) bm1 = bBitMinHash(m1) self.assertTrue(bm1.jaccard(bm2) < 1.0)
def test_jaccard(self): m1 = minhash.MinHash(4, 1, hashfunc=fake_hash_func) m2 = minhash.MinHash(4, 1, hashfunc=fake_hash_func) bm1 = bBitMinHash(m1) bm2 = bBitMinHash(m2) self.assertTrue(bm1.jaccard(bm2) == 1.0) m2.update(12) bm2 = bBitMinHash(m2) self.assertTrue(bm1.jaccard(bm2) < 1.0) m1.update(13) bm1 = bBitMinHash(m1) self.assertTrue(bm1.jaccard(bm2) < 1.0)
def test_eq(self): m1 = minhash.MinHash(4, 1, hashobj=FakeHash) m2 = minhash.MinHash(4, 1, hashobj=FakeHash) m3 = minhash.MinHash(4, 2, hashobj=FakeHash) m4 = minhash.MinHash(8, 1, hashobj=FakeHash) m5 = minhash.MinHash(4, 1, hashobj=FakeHash) m1.update(11) m2.update(12) m3.update(11) m4.update(11) m5.update(11) m1 = bBitMinHash(m1) m2 = bBitMinHash(m2) m3 = bBitMinHash(m3) m4 = bBitMinHash(m4) m5 = bBitMinHash(m5) self.assertNotEqual(m1, m2) self.assertNotEqual(m1, m3) self.assertNotEqual(m1, m4) self.assertEqual(m1, m5)
def test_eq(self): m1 = minhash.MinHash(4, 1) m2 = minhash.MinHash(4, 1) m3 = minhash.MinHash(4, 2) m4 = minhash.MinHash(8, 1) m5 = minhash.MinHash(4, 1) m1.digest(FakeHash(11)) m2.digest(FakeHash(12)) m3.digest(FakeHash(11)) m4.digest(FakeHash(11)) m5.digest(FakeHash(11)) m1 = bBitMinHash(m1) m2 = bBitMinHash(m2) m3 = bBitMinHash(m3) m4 = bBitMinHash(m4) m5 = bBitMinHash(m5) self.assertNotEqual(m1, m2) self.assertNotEqual(m1, m3) self.assertNotEqual(m1, m4) self.assertEqual(m1, m5)
def test_pickle(self): for num_perm in [1 << i for i in range(4, 10)]: m = minhash.MinHash(num_perm=num_perm, hashobj=FakeHash) m.update(11) m.update(123) m.update(92) m.update(98) m.update(123218) m.update(32) for b in [1, 2, 3, 9, 27, 32]: bm = bBitMinHash(m, b) bm2 = pickle.loads(pickle.dumps(bm)) self.assertEqual(bm, bm2)
def test_pickle(self): for num_perm in [1 << i for i in range(4, 10)]: m = minhash.MinHash(num_perm=num_perm) m.digest(FakeHash(11)) m.digest(FakeHash(123)) m.digest(FakeHash(92)) m.digest(FakeHash(98)) m.digest(FakeHash(123218)) m.digest(FakeHash(32)) for b in [1, 2, 3, 9, 27, 32]: bm = bBitMinHash(m, b) bm2 = pickle.loads(pickle.dumps(bm)) self.assertEqual(bm, bm2)
def test_bytesize(self): s = bBitMinHash(self.m).bytesize() self.assertGreaterEqual(s, 8 * 2 + 4 + 1 + self.m.hashvalues.size / 64)
def test_bytesize(self): s = bBitMinHash(self.m).bytesize() self.assertGreaterEqual(s, 8*2+4+1+self.m.hashvalues.size/64)
def _b_bit_minhash_jaccard(m1, m2, b): return bBitMinHash(m1, b).jaccard(bBitMinHash(m2, b))