Exemplo n.º 1
0
 def test_encode_with_three_rails(self):
     self.assertMultiLineEqual(encode("WEAREDISCOVEREDFLEEATONCE", 3),
                               "WECRLTEERDSOEEFEAOCAIVDEN")
     self.assertMultiLineEqual(
         encode("we are discovered, flee at once!", 3),
         "WECRLTEERDSOEEFEAOCAIVDEN")
     self.assertMultiLineEqual(encode("FOOBARS", 3), "FAOBROS")
Exemplo n.º 2
0
 def test_encode_with_two_rails(self):
     self.assertMultiLineEqual(
         encode('XOXOXOXOXOXOXOXOXO', 2), 'XXXXXXXXXOOOOOOOOO')
     self.assertMultiLineEqual(
         encode('BEARS', 2), 'BASER')
     self.assertMultiLineEqual(
         encode('BEARSANDBIRDS', 2,), 'BASNBRSERADID'
     )
Exemplo n.º 3
0
 def test_encode_decode_identity(self):
     for msg, rails in [
         ("XOXOXOXOXOXOXOXOXO", 2), ("WEAREDISCOVEREDFLEEATONCE", 3),
         ("THEDEVILISINTHEDETAILS", 3), ("THEDEVILISINTHEDETAILS", 5),
         ("133714114238148966225439541018335470986172518171757571896261", 6)
     ]:
         self.assertMultiLineEqual(decode(encode(msg, rails), rails), msg)
Exemplo n.º 4
0
 def test_encode_with_three_rails(self):
     self.assertMultiLineEqual(encode("WEAREDISCOVEREDFLEEATONCE", 3),
                               "WECRLTEERDSOEEFEAOCAIVDEN")
Exemplo n.º 5
0
 def test_encode_with_two_rails(self):
     self.assertMultiLineEqual(
         encode('XOXOXOXOXOXOXOXOXO', 2), 'XXXXXXXXXOOOOOOOOO')
Exemplo n.º 6
0
 def test_encode_with_middle_stop(self):
     self.assertMultiLineEqual(encode('EXERCISES', 4), 'ESXIEECSR')
Exemplo n.º 7
0
 def test_encode_with_empty_string(self):
     self.assertEqual(encode('', 2), '')
Exemplo n.º 8
0
 def test_encode_with_three_rails(self):
     self.assertMultiLineEqual(
         encode('WEAREDISCOVEREDFLEEATONCE', 3),
         'WECRLTEERDSOEEFEAOCAIVDEN')
     self.assertMultiLineEqual(
         encode('ALLBYMYSELF', 3), 'AYELBMSLLYF')
Exemplo n.º 9
0
 def test_encode_with_middle_stop(self):
     self.assertMultiLineEqual('ESXIEECSR', encode('EXERCISES', 4))
Exemplo n.º 10
0
 def test_encode_with_ending_in_the_middle(self):
     self.assertMultiLineEqual(encode('EXERCISES', 4), 'ESXIEECSR')
Exemplo n.º 11
0
 def test_encode_with_two_rails(self):
     self.assertMultiLineEqual(encode("XOXOXOXOXOXOXOXOXO", 2),
                               "XXXXXXXXXOOOOOOOOO")
     self.assertMultiLineEqual(encode("FOOBARS", 2), "FOASOBR")
     self.assertMultiLineEqual(encode("FOO BAR S!", 2), "FOASOBR")
Exemplo n.º 12
0
 def test_encode_with_one_rail(self):
     self.assertEqual(encode('One rail, only one rail', 1),
                      'One rail, only one rail')
Exemplo n.º 13
0
 def test_encode_with_less_letters_than_rails(self):
     self.assertEqual(encode('More rails than letters', 24),
                      'More rails than letters')
Exemplo n.º 14
0
 def test_encode_with_ending_in_the_middle(self):
     self.assertMultiLineEqual(encode('EXERCISES', 4), 'ESXIEECSR')
Exemplo n.º 15
0
 def test_encode_with_ending_in_the_middle(self):
     self.assertMultiLineEqual(encode('EXERCISES', 4), 'ESXIEECSR')
     self.assertMultiLineEqual(encode('TOBEORNOTTOBE', 4), 'TNEOROBBOTOET')
Exemplo n.º 16
0
 def test_encode_with_ending_in_the_middle(self):
     self.assertMultiLineEqual(encode("EXERCISES", 4), "ESXIEECSR")
Exemplo n.º 17
0
 def test_encode_with_two_rails(self):
     self.assertMultiLineEqual(encode("XOXOXOXOXOXOXOXOXO", 2),
                               "XXXXXXXXXOOOOOOOOO")
Exemplo n.º 18
0
 def test_encode_with_five_rails(self):
     self.assertMultiLineEqual(encode("FOOBARS", 5), "FOOSBRA")
     self.assertMultiLineEqual(encode("The Devil Is In The Details.", 5),
                               "TIEHLSDTEIIEADVNHISETL")
Exemplo n.º 19
0
 def test_encode_with_three_rails(self):
     self.assertMultiLineEqual('WECRLTEERDSOEEFEAOCAIVDEN',
                               encode('WEAREDISCOVEREDFLEEATONCE', 3))
Exemplo n.º 20
0
 def test_encode_with_six_rails(self):
     self.assertMultiLineEqual(encode("FOOBARS", 6), "FOOBASR")
Exemplo n.º 21
0
 def test_encode_with_two_rails(self):
     self.assertMultiLineEqual('XXXXXXXXXOOOOOOOOO',
                               encode('XOXOXOXOXOXOXOXOXO', 2))
Exemplo n.º 22
0
 def test_encode_and_decode(self):
     value = "here is a message from the test case, GREAT!"
     self.assertEqual(value, decode(encode(value, 5), 5))