def test_check(self) -> None: rs = RSCodec() msg = bytearray("hello world " * 10, "latin1") enc = rs.encode(msg) rmsg, renc = rs.decode(enc) self.assertEqual(rs.check(enc), [True]) self.assertEqual(rs.check(renc), [True]) for i in [27, -3, -9, 7, 0]: enc[i] = 99 rmsg, renc = rs.decode(enc) self.assertEqual(rs.check(enc), [False]) self.assertEqual(rs.check(renc), [True])
def test_c_exp_12(self) -> None: rsc = RSCodec(12, c_exp=12) rsc2 = RSCodec(12, nsize=4095) self.assertEqual(rsc.c_exp, rsc2.c_exp) self.assertEqual(rsc.nsize, rsc2.nsize) mes = 'a'*(4095-12) mesecc = rsc.encode(mes) mesecc[2] = 1 mesecc[-1] = 1 rmes, rmesecc = rsc.decode(mesecc) self.assertEqual(rsc.check(mesecc), [False]) self.assertEqual(rsc.check(rmesecc), [True]) self.assertEqual([x for x in rmes], [ord(x) for x in mes])
def test_c_exp_9(self): rsc = RSCodec(12, c_exp=9) rsc2 = RSCodec(12, nsize=511) self.assertEqual(rsc.c_exp, rsc2.c_exp) self.assertEqual(rsc.nsize, rsc2.nsize) mes = 'a' * ((511 - 12) * 2) mesecc = rsc.encode(mes) mesecc[2] = 1 mesecc[-1] = 1 rmes, rmesecc = rsc.decode(mesecc) self.assertEqual(rsc.check(mesecc), [False, False]) self.assertEqual(rsc.check(rmesecc), [True, True]) self.assertEqual([x for x in rmes], [ord(x) for x in mes])