python crypto square

This commit is contained in:
Xevion
2020-11-14 09:22:27 -06:00
parent 9269a8f4bf
commit b6535bfbe2
4 changed files with 177 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
import unittest
from crypto_square import cipher_text
# Tests adapted from `problem-specifications//canonical-data.json` @ v3.2.0
class CryptoSquareTest(unittest.TestCase):
def test_empty_string(self):
self.assertEqual(cipher_text(''), '')
def test_lowercase(self):
self.assertEqual(cipher_text('A'), 'a')
def test_remove_spaces(self):
self.assertEqual(cipher_text(' b '), 'b')
def test_remove_punctuation(self):
self.assertEqual(cipher_text('@1,%!'), '1')
def test_9chars_results_3chunks(self):
self.assertEqual(cipher_text('This is fun!'), 'tsf hiu isn')
def test_8chars_results_3chunks_ending_space(self):
self.assertEqual(cipher_text('Chill out.'), 'clu hlt io ')
def test_54chars_results_7chunks_2ending_space(self):
self.assertEqual(
cipher_text('If man was meant to stay on the ground, '
'god would have given us roots.'),
'imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn sseoau '
)
if __name__ == '__main__':
unittest.main()