def test_encdec_new(self):
     # default: 256 bytes, 10 iterations
     a = Spinner.generate()
     pt = bytearray(b'Test string')
     ct = a.encrypt(pt)
     self.assertNotEqual(pt, ct)
     self.assertEqual(len(pt), len(ct))
     pt0 = a.decrypt(ct)
     self.assertEqual(pt, pt0)
    def test_lengths(self):
        # 10 bytes, 4 iterations
        a = Spinner.generate(10, 4)

        # ecnryption tests
        a.encrypt(bytearray(b'0123456789'))  # should pass OK
        self.assertRaises(SpinnerException, a.encrypt, bytearray(b'0123456789A'))  # too long
        self.assertRaises(SpinnerException, a.encrypt, bytearray(b''))  # zero length
        self.assertRaises(SpinnerException, a.encrypt, '0123')  # invalid type
        self.assertRaises(SpinnerException, a.encrypt, 1)  # invalid type

        # decryption tests
        a.decrypt(bytearray(b'0123456789'))  # should pass OK
        self.assertRaises(SpinnerException, a.decrypt, bytearray(b'0123456789A'))  # too long
        self.assertRaises(SpinnerException, a.decrypt, bytearray(b''))  # zero length
        self.assertRaises(SpinnerException, a.decrypt, '0123')  # invalid type
        self.assertRaises(SpinnerException, a.decrypt, 1)  # invalid type
 def test_short(self):
     # 8 bytes, 3 iterations
     a = Spinner.generate(8, 3)
     self.assertEqual(a.num_bytes, 8)
     self.assertEqual(a.num_iterations, 3)
 def test_default(self):
     # default: 256 bytes, 10 iterations
     a = Spinner.generate()
     self.assertEqual(a.num_bytes, 256)
     self.assertEqual(a.num_iterations, 10)