コード例 #1
0
ファイル: simple_cipher_test.py プロジェクト: fortrieb/python
 def test_can_encode(self):
     cipher = Cipher()
     plaintext = 'aaaaaaaaaa'
     self.assertEqual(cipher.encode(plaintext), cipher.key[:len(plaintext)])
コード例 #2
0
 def test_throws_an_error_with_all_uppercase_key(self):
     with self.assertRaisesWithMessage(ValueError):
         Cipher('ABCDEF')
コード例 #3
0
 def test_throws_an_error_with_empty_key(self):
     with self.assertRaisesWithMessage(ValueError):
         Cipher('')
コード例 #4
0
 def test_encode_always_returns_downcase_string(self):
     cipher = Cipher()
     plaintext = 'AbCdEfGhIj'
     ciphertext = 'bcdefghijk'
     self.assertEqual(ciphertext, cipher.encode(plaintext))
コード例 #5
0
 def test_can_wrap_on_decode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.decode('zabcdefghi'), 'zzzzzzzzzz')
コード例 #6
0
ファイル: simple_cipher_test.py プロジェクト: fortrieb/python
 def test_can_wrap_on_decode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.decode('zabcdefghi'), 'zzzzzzzzzz')
コード例 #7
0
ファイル: simple_cipher_test.py プロジェクト: a62mds/exercism
 def test_cipher_encode4(self):
     key = ('duxrceqyaimciuucnelkeoxjhdyduucpmrxmaivacmybmsdrzwqxvbxsy'
            'gzsabdjmdjabeorttiwinfrpmpogvabiofqexnohrqu')
     c = Cipher(key)
     self.assertEqual('gccwkixcltycv', c.encode('diffiehellman'))
コード例 #8
0
 def test_can_wrap_on_decode(self):
     cipher = Cipher("abcdefghij")
     self.assertEqual(cipher.decode("zabcdefghi"), "zzzzzzzzzz")
コード例 #9
0
 def test_can_encode_messages_longer_than_the_key(self):
     cipher = Cipher("abc")
     plaintext = "iamapandabear"
     self.assertEqual(cipher.encode(plaintext), "iboaqcnecbfcr")
コード例 #10
0
 def test_can_double_shift_encode(self):
     cipher = Cipher("iamapandabear")
     plaintext = "iamapandabear"
     self.assertEqual(cipher.encode(plaintext), "qayaeaagaciai")
コード例 #11
0
 def test_can_wrap_on_encode(self):
     cipher = Cipher("abcdefghij")
     plaintext = "zzzzzzzzzz"
     self.assertEqual(cipher.encode(plaintext), "zabcdefghi")
コード例 #12
0
 def test_can_decode(self):
     cipher = Cipher("abcdefghij")
     self.assertEqual(cipher.decode(cipher.key), "aaaaaaaaaa")
コード例 #13
0
 def test_can_encode(self):
     cipher = Cipher("abcdefghij")
     plaintext = "aaaaaaaaaa"
     self.assertEqual(cipher.encode(plaintext), cipher.key)
コード例 #14
0
 def test_can_encode(self):
     cipher = Cipher()
     plaintext = "aaaaaaaaaa"
     self.assertEqual(cipher.encode(plaintext), cipher.key[0: len(plaintext)])
コード例 #15
0
ファイル: simple_cipher_test.py プロジェクト: fortrieb/python
 def test_can_encode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.encode('aaaaaaaaaa'), cipher.key)
コード例 #16
0
 def test_can_decode_messages_longer_than_the_key(self):
     cipher = Cipher("abc")
     self.assertEqual(cipher.decode("iboaqcnecbfcr"), "iamapandabear")
コード例 #17
0
ファイル: simple_cipher_test.py プロジェクト: fortrieb/python
 def test_is_reversible(self):
     cipher = Cipher('abcdefghij')
     plaintext = 'abcdefghij'
     self.assertEqual(cipher.decode(cipher.encode(plaintext)), plaintext)
コード例 #18
0
 def test_cipher_encode2(self):
     c = Cipher('aaaaaaaaaaaaaaaaaaaaaa')
     self.assertEqual(
         c.encode('itisawesomeprogramminginpython'),
         'itisawesomeprogramminginpython')
コード例 #19
0
ファイル: simple_cipher_test.py プロジェクト: a62mds/exercism
 def test_cipher_encode2(self):
     c = Cipher('aaaaaaaaaaaaaaaaaaaaaa')
     self.assertEqual('itisawesomeprogramminginpython',
                      c.encode('itisawesomeprogramminginpython'))
コード例 #20
0
 def test_cipher_encode3(self):
     c = Cipher('dddddddddddddddddddddd')
     self.assertEqual(c.encode('venividivici'), 'yhqlylglylfl')
コード例 #21
0
ファイル: simple_cipher_test.py プロジェクト: a62mds/exercism
 def test_cipher_compositiion1(self):
     key = ('duxrceqyaimciuucnelkeoxjhdyduucpmrxmaivacmybmsdrzwqxvbxsy'
            'gzsabdjmdjabeorttiwinfrpmpogvabiofqexnohrqu')
     plaintext = 'adaywithoutlaughterisadaywasted'
     c = Cipher(key)
     self.assertEqual(plaintext, c.decode(c.encode(plaintext)))
コード例 #22
0
 def test_cipher_encode4(self):
     key = ('duxrceqyaimciuucnelkeoxjhdyduucpmrxmaivacmybmsdrzwqxvbxsy'
            'gzsabdjmdjabeorttiwinfrpmpogvabiofqexnohrqu')
     c = Cipher(key)
     self.assertEqual(c.encode('diffiehellman'), 'gccwkixcltycv')
コード例 #23
0
 def test_can_double_shift_encode(self):
     plaintext = 'iamapandabear'
     cipher = Cipher(plaintext)
     self.assertEqual(cipher.encode(plaintext), 'qayaeaagaciai')
コード例 #24
0
 def test_cipher_encode_short_key(self):
     c = Cipher('abcd')
     self.assertEqual(c.encode('aaaaaaaa'), 'abcdabcd')
コード例 #25
0
 def test_can_handle_messages_longer_than_key(self):
     cipher = Cipher('abc')
     self.assertEqual(cipher.encode('iamapandabear'), 'iboaqcnecbfcr')
コード例 #26
0
 def test_cipher_compositiion1(self):
     key = ('duxrceqyaimciuucnelkeoxjhdyduucpmrxmaivacmybmsdrzwqxvbxsy'
            'gzsabdjmdjabeorttiwinfrpmpogvabiofqexnohrqu')
     plaintext = 'adaywithoutlaughterisadaywasted'
     c = Cipher(key)
     self.assertEqual(c.decode(c.encode(plaintext)), plaintext)
コード例 #27
0
 def test_throws_an_error_with_a_numeric_key(self):
     with self.assertRaisesWithMessage(ValueError):
         Cipher('12345')
コード例 #28
0
 def test_cipher_compositiion2(self):
     plaintext = 'adaywithoutlaughterisadaywasted'
     c = Cipher()
     self.assertEqual(c.decode(c.encode(plaintext)), plaintext)
コード例 #29
0
 def test_can_decode(self):
     cipher = Cipher()
     self.assertEqual(cipher.decode(cipher.key[0:len("aaaaaaaaaa")]),
                      "aaaaaaaaaa")
コード例 #30
0
 def test_cipher_wrong_key(self):
     with self.assertRaises(ValueError):
         Cipher('a1cde')
     with self.assertRaises(ValueError):
         Cipher('aBcde')
コード例 #31
0
ファイル: simple_cipher_test.py プロジェクト: fortrieb/python
 def test_can_decode(self):
     cipher = Cipher()
     plaintext = 'aaaaaaaaaa'
     self.assertEqual(cipher.decode(cipher.key[:len(plaintext)]), plaintext)
コード例 #32
0
 def test_can_encode(self):
     cipher = Cipher()
     self.assertEqual(cipher.encode('aaaaaaaaaa'), cipher.key[:10])
コード例 #33
0
ファイル: simple_cipher_test.py プロジェクト: fortrieb/python
 def test_can_decode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.decode(cipher.key), 'aaaaaaaaaa')
コード例 #34
0
 def test_can_decode(self):
     cipher = Cipher()
     plaintext = 'aaaaaaaaaa'
     self.assertEqual(cipher.decode(cipher.key[:len(plaintext)]), plaintext)
コード例 #35
0
ファイル: simple_cipher_test.py プロジェクト: fortrieb/python
 def test_can_double_shift_encode(self):
     plaintext = 'iamapandabear'
     cipher = Cipher(plaintext)
     self.assertEqual(cipher.encode(plaintext), 'qayaeaagaciai')
コード例 #36
0
 def test_key_is_only_made_of_lowercase_letters(self):
     self.assertIsNotNone(re.match('^[a-z]+$', Cipher().key))
コード例 #37
0
ファイル: simple_cipher_test.py プロジェクト: fortrieb/python
 def test_can_handle_messages_longer_than_key(self):
     cipher = Cipher('abc')
     self.assertEqual(cipher.encode('iamapandabear'), 'iboaqcnecbfcr')
コード例 #38
0
 def test_can_encode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.encode('aaaaaaaaaa'), cipher.key)
コード例 #39
0
ファイル: simple_cipher_test.py プロジェクト: a62mds/exercism
 def test_cipher_encode3(self):
     c = Cipher('dddddddddddddddddddddd')
     self.assertEqual('yhqlylglylfl', c.encode('venividivici'))
コード例 #40
0
 def test_can_decode(self):
     cipher = Cipher('abcdefghij')
     self.assertEqual(cipher.decode(cipher.key), 'aaaaaaaaaa')
コード例 #41
0
ファイル: simple_cipher_test.py プロジェクト: a62mds/exercism
 def test_cipher_encode_short_key(self):
     c = Cipher('abcd')
     self.assertEqual('abcdabcd', c.encode('aaaaaaaa'))
コード例 #42
0
 def test_is_reversible(self):
     cipher = Cipher('abcdefghij')
     plaintext = 'abcdefghij'
     self.assertEqual(cipher.decode(cipher.encode(plaintext)), plaintext)
コード例 #43
0
ファイル: simple_cipher_test.py プロジェクト: a62mds/exercism
 def test_cipher_compositiion2(self):
     plaintext = 'adaywithoutlaughterisadaywasted'
     c = Cipher()
     self.assertEqual(plaintext, c.decode(c.encode(plaintext)))
コード例 #44
0
 def test_encode_letter_with_default_shift_distance(self):
     cipher = Cipher()
     plaintext = 'a'
     ciphertext = 'b'
     self.assertEqual(ciphertext, cipher.encode(plaintext))