(self)
| 184 | self.assertRaises(TypeError, self.combine, 0, 0, "len") |
| 185 | |
| 186 | def test_combine_with_iv(self): |
| 187 | for _ in range(self.N): |
| 188 | a, iv_a, chk_a_with_iv = self.get_random_data(32, iv=-1) |
| 189 | chk_a_no_iv = self.checksum(a) |
| 190 | b, iv_b, chk_b_with_iv = self.get_random_data(64, iv=-1) |
| 191 | chk_b_no_iv = self.checksum(b) |
| 192 | |
| 193 | # We can represent c = COMBINE(CHK(a, iv_a), CHK(b, iv_b)) as: |
| 194 | # |
| 195 | # c = CHK(CHK(b'', iv_a) + CHK(a) + CHK(b'', iv_b) + CHK(b)) |
| 196 | # = COMBINE( |
| 197 | # COMBINE(CHK(b'', iv_a), CHK(a)), |
| 198 | # COMBINE(CHK(b'', iv_b), CHK(b)), |
| 199 | # ) |
| 200 | # = COMBINE(COMBINE(iv_a, CHK(a)), COMBINE(iv_b, CHK(b))) |
| 201 | tmp0 = self.combine(iv_a, chk_a_no_iv, len(a)) |
| 202 | tmp1 = self.combine(iv_b, chk_b_no_iv, len(b)) |
| 203 | expected = self.combine(tmp0, tmp1, len(b)) |
| 204 | checksum = self.combine(chk_a_with_iv, chk_b_with_iv, len(b)) |
| 205 | self.assertEqual(checksum, expected) |
| 206 | |
| 207 | |
| 208 | class CRC32CombineTestCase(ChecksumCombineMixin, unittest.TestCase): |
nothing calls this directly
no test coverage detected