def test_similarity_score_cache(self): blob1 = make_object(Blob, data=b"ab\ncd\n") blob2 = make_object(Blob, data=b"ab\n") block_cache = {} self.assertEqual(50, _similarity_score(blob1, blob2, block_cache=block_cache)) self.assertEqual(set([blob1.id, blob2.id]), set(block_cache)) def fail_chunks(): self.fail("Unexpected call to as_raw_chunks()") blob1.as_raw_chunks = blob2.as_raw_chunks = fail_chunks blob1.raw_length = lambda: 6 blob2.raw_length = lambda: 3 self.assertEqual(50, _similarity_score(blob1, blob2, block_cache=block_cache))
def test_similarity_score_cache(self): blob1 = make_object(Blob, data='ab\ncd\n') blob2 = make_object(Blob, data='ab\n') block_cache = {} self.assertEqual( 50, _similarity_score(blob1, blob2, block_cache=block_cache)) self.assertEqual(set([blob1.id, blob2.id]), set(block_cache)) def fail_chunks(): self.fail('Unexpected call to as_raw_chunks()') blob1.as_raw_chunks = blob2.as_raw_chunks = fail_chunks blob1.raw_length = lambda: 6 blob2.raw_length = lambda: 3 self.assertEqual( 50, _similarity_score(blob1, blob2, block_cache=block_cache))
def assertSimilar(self, expected_score, blob1, blob2): self.assertEqual(expected_score, _similarity_score(blob1, blob2)) self.assertEqual(expected_score, _similarity_score(blob2, blob1))