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()