def _do_test_count_blocks(self, count_blocks):
blob = make_object(Blob, data=b'a\nb\na\n')
- self.assertEqual({hash(b'a\n'): 4, hash(b'b\n'): 2},
- count_blocks(blob))
+ self.assertBlockCountEqual({b'a\n': 4, b'b\n': 2}, count_blocks(blob))
test_count_blocks = functest_builder(_do_test_count_blocks,
_count_blocks_py)
def _do_test_count_blocks_no_newline(self, count_blocks):
blob = make_object(Blob, data=b'a\na')
- self.assertEqual({hash(b'a\n'): 2, hash(b'a'): 1}, _count_blocks(blob))
+ self.assertBlockCountEqual({b'a\n': 2, b'a': 1}, _count_blocks(blob))
test_count_blocks_no_newline = functest_builder(
_do_test_count_blocks_no_newline, _count_blocks_py)
test_count_blocks_no_newline_extension = ext_functest_builder(
_do_test_count_blocks_no_newline, _count_blocks)
+ def assertBlockCountEqual(self, expected, got):
+ self.assertEqual(
+ {(hash(l) & 0xffffffff): c for (l, c) in expected.items()},
+ {(h & 0xffffffff): c for (h, c) in got.items()})
+
def _do_test_count_blocks_chunks(self, count_blocks):
blob = ShaFile.from_raw_chunks(Blob.type_num, [b'a\nb', b'\na\n'])
- self.assertEqual({hash(b'a\n'): 4, hash(b'b\n'): 2},
- _count_blocks(blob))
+ self.assertBlockCountEqual({b'a\n': 4, b'b\n': 2}, _count_blocks(blob))
test_count_blocks_chunks = functest_builder(_do_test_count_blocks_chunks,
_count_blocks_py)
a = b'a' * 64
data = a + b'xxx\ny\n' + a + b'zzz\n'
blob = make_object(Blob, data=data)
- self.assertEqual({hash(b'a' * 64): 128, hash(b'xxx\n'): 4,
- hash(b'y\n'): 2, hash(b'zzz\n'): 4},
- _count_blocks(blob))
+ self.assertBlockCountEqual(
+ {b'a' * 64: 128,
+ b'xxx\n': 4,
+ b'y\n': 2,
+ b'zzz\n': 4},
+ _count_blocks(blob))
test_count_blocks_long_lines = functest_builder(
_do_test_count_blocks_long_lines, _count_blocks_py)