def test_encode_wraps_z_to_a(self):
     cipher = Cipher()
     plaintext = 'z'
     ciphertext = 'a'
     self.assertEqual(ciphertext, cipher.encode(plaintext))
示例#2
0
 def test_can_double_shift_encode(self):
     plaintext = 'iamapandabear'
     cipher = Cipher(plaintext)
     self.assertEqual(cipher.encode(plaintext), 'qayaeaagaciai')
示例#3
0
 def test_can_encode_messages_longer_than_key(self):
     cipher = Cipher('abc')
     self.assertEqual(cipher.encode('iamapandabear'), 'iboaqcnecbfcr')
示例#4
0
 def test_cipher_compositiion1(self):
     key = ('duxrceqyaimciuucnelkeoxjhdyduucpmrxmaivacmybmsdrzwqxvbxsy'
            'gzsabdjmdjabeorttiwinfrpmpogvabiofqexnohrqu')
     plaintext = 'adaywithoutlaughterisadaywasted'
     c = Cipher(key)
     self.assertEqual(c.decode(c.encode(plaintext)), plaintext)
示例#5
0
 def test_can_encode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.encode('aaaaaaaaaa'), cipher.key)
 def test_encode_always_returns_downcase_string(self):
     cipher = Cipher()
     plaintext = 'AbCdEfGhIj'
     ciphertext = 'bcdefghijk'
     self.assertEqual(ciphertext, cipher.encode(plaintext))
示例#7
0
 def test_cipher_encode4(self):
     key = ('duxrceqyaimciuucnelkeoxjhdyduucpmrxmaivacmybmsdrzwqxvbxsy'
            'gzsabdjmdjabeorttiwinfrpmpogvabiofqexnohrqu')
     c = Cipher(key)
     self.assertEqual(c.encode('diffiehellman'), 'gccwkixcltycv')
 def test_can_encode(self):
     cipher = Cipher("abcdefghij")
     plaintext = "aaaaaaaaaa"
     self.assertEqual(cipher.encode(plaintext), cipher.key)
 def test_can_double_shift_encode(self):
     cipher = Cipher("iamapandabear")
     plaintext = "iamapandabear"
     self.assertEqual(cipher.encode(plaintext), "qayaeaagaciai")
示例#10
0
 def test_can_wrap_on_encode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.encode('zzzzzzzzzz'), 'zabcdefghi')
示例#11
0
 def test_can_handle_messages_longer_than_key(self):
     cipher = Cipher('abc')
     self.assertEqual(cipher.encode('iamapandabear'), 'iboaqcnecbfcr')
示例#12
0
 def test_can_double_shift_encode(self):
     plaintext = 'iamapandabear'
     cipher = Cipher(plaintext)
     self.assertEqual(cipher.encode(plaintext), 'qayaeaagaciai')
示例#13
0
 def test_is_reversible(self):
     cipher = Cipher('abcdefghij')
     plaintext = 'abcdefghij'
     self.assertEqual(cipher.decode(cipher.encode(plaintext)), plaintext)
示例#14
0
 def test_can_encode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.encode('aaaaaaaaaa'), cipher.key)
 def test_encode_with_10_shift_distance(self):
     cipher = Cipher()
     plaintext = 'wxyzabcd'
     ciphertext = 'ghijklmn'
     self.assertEqual(ciphertext, cipher.encode(plaintext, 10))
 def test_can_wrap_on_encode(self):
     cipher = Cipher("abcdefghij")
     plaintext = "zzzzzzzzzz"
     self.assertEqual(cipher.encode(plaintext), "zabcdefghi")
 def test_encode_with_27_shift_distance(self):
     cipher = Cipher()
     plaintext = 'wxyzabcd'
     ciphertext = 'xyzabcde'
     self.assertEqual(ciphertext, cipher.encode(plaintext, 27))
 def test_can_encode_messages_longer_than_the_key(self):
     cipher = Cipher("abc")
     plaintext = "iamapandabear"
     self.assertEqual(cipher.encode(plaintext), "iboaqcnecbfcr")
示例#19
0
 def test_can_encode(self):
     cipher = Cipher()
     plaintext = 'aaaaaaaaaa'
     self.assertEqual(cipher.encode(plaintext), cipher.key[:len(plaintext)])
示例#20
0
 def test_cipher_encode2(self):
     c = Cipher('aaaaaaaaaaaaaaaaaaaaaa')
     self.assertEqual('itisawesomeprogramminginpython',
                      c.encode('itisawesomeprogramminginpython'))
示例#21
0
 def test_cipher_encode_short_key(self):
     c = Cipher('abcd')
     self.assertEqual(c.encode('aaaaaaaa'), 'abcdabcd')
示例#22
0
 def test_cipher_encode3(self):
     c = Cipher('dddddddddddddddddddddd')
     self.assertEqual('yhqlylglylfl', c.encode('venividivici'))
示例#23
0
 def test_cipher_compositiion2(self):
     plaintext = 'adaywithoutlaughterisadaywasted'
     c = Cipher()
     self.assertEqual(c.decode(c.encode(plaintext)), plaintext)
示例#24
0
 def test_cipher_encode4(self):
     key = ('duxrceqyaimciuucnelkeoxjhdyduucpmrxmaivacmybmsdrzwqxvbxsy'
            'gzsabdjmdjabeorttiwinfrpmpogvabiofqexnohrqu')
     c = Cipher(key)
     self.assertEqual('gccwkixcltycv', c.encode('diffiehellman'))
示例#25
0
 def test_is_reversible(self):
     cipher = Cipher('abcdefghij')
     plaintext = 'abcdefghij'
     self.assertEqual(cipher.decode(cipher.encode(plaintext)), plaintext)
示例#26
0
 def test_cipher_encode_short_key(self):
     c = Cipher('abcd')
     self.assertEqual('abcdabcd', c.encode('aaaaaaaa'))
示例#27
0
 def test_can_wrap_on_encode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.encode('zzzzzzzzzz'), 'zabcdefghi')
示例#28
0
 def test_cipher_compositiion1(self):
     key = ('duxrceqyaimciuucnelkeoxjhdyduucpmrxmaivacmybmsdrzwqxvbxsy'
            'gzsabdjmdjabeorttiwinfrpmpogvabiofqexnohrqu')
     plaintext = 'adaywithoutlaughterisadaywasted'
     c = Cipher(key)
     self.assertEqual(plaintext, c.decode(c.encode(plaintext)))
 def test_encode_raise_error_if_non_letter_characters(self):
     cipher = Cipher()
     plaintext = 'az4'
     with pytest.raises(Exception):
         cipher.encode(plaintext)
示例#30
0
 def test_cipher_compositiion2(self):
     plaintext = 'adaywithoutlaughterisadaywasted'
     c = Cipher()
     self.assertEqual(plaintext, c.decode(c.encode(plaintext)))
 def test_encode_string_with_default_shift_distance(self):
     cipher = Cipher()
     plaintext = 'wxyzabcd'
     ciphertext = 'xyzabcde'
     self.assertEqual(ciphertext, cipher.encode(plaintext))
示例#32
0
 def test_cipher_combo_short_key(self):
     text = 'awbxcydz'
     c = Cipher('abcd')
     cipher = c.encode(text)
     self.assertEqual(cipher, 'axdaczfc')
     self.assertEqual(c.decode(cipher), text)
 def test_encode_with_26_shift_distance(self):
     cipher = Cipher()
     plaintext = 'abcdefghij'
     ciphertext = 'abcdefghij'
     self.assertEqual(ciphertext, cipher.encode(plaintext, 26))
示例#34
0
 def test_cipher_encode2(self):
     c = Cipher('aaaaaaaaaaaaaaaaaaaaaa')
     self.assertEqual(c.encode('itisawesomeprogramminginpython'),
                      'itisawesomeprogramminginpython')
 def test_encode_letter_with_default_shift_distance(self):
     cipher = Cipher()
     plaintext = 'a'
     ciphertext = 'b'
     self.assertEqual(ciphertext, cipher.encode(plaintext))
示例#36
0
 def test_cipher_encode3(self):
     c = Cipher('dddddddddddddddddddddd')
     self.assertEqual(c.encode('venividivici'), 'yhqlylglylfl')
示例#37
0
 def test_can_encode(self):
     cipher = Cipher()
     plaintext = 'aaaaaaaaaa'
     self.assertEqual(cipher.encode(plaintext), cipher.key[:len(plaintext)])
示例#38
0
 def test_can_encode(self):
     cipher = Cipher()
     self.assertEqual(cipher.encode('aaaaaaaaaa'), cipher.key[:10])