Пример #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")
Пример #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'
     )
Пример #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)
Пример #4
0
 def test_encode_with_three_rails(self):
     self.assertMultiLineEqual(encode("WEAREDISCOVEREDFLEEATONCE", 3),
                               "WECRLTEERDSOEEFEAOCAIVDEN")
Пример #5
0
 def test_encode_with_two_rails(self):
     self.assertMultiLineEqual(
         encode('XOXOXOXOXOXOXOXOXO', 2), 'XXXXXXXXXOOOOOOOOO')
Пример #6
0
 def test_encode_with_middle_stop(self):
     self.assertMultiLineEqual(encode('EXERCISES', 4), 'ESXIEECSR')
Пример #7
0
 def test_encode_with_empty_string(self):
     self.assertEqual(encode('', 2), '')
Пример #8
0
 def test_encode_with_three_rails(self):
     self.assertMultiLineEqual(
         encode('WEAREDISCOVEREDFLEEATONCE', 3),
         'WECRLTEERDSOEEFEAOCAIVDEN')
     self.assertMultiLineEqual(
         encode('ALLBYMYSELF', 3), 'AYELBMSLLYF')
Пример #9
0
 def test_encode_with_middle_stop(self):
     self.assertMultiLineEqual('ESXIEECSR', encode('EXERCISES', 4))
Пример #10
0
 def test_encode_with_ending_in_the_middle(self):
     self.assertMultiLineEqual(encode('EXERCISES', 4), 'ESXIEECSR')
Пример #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")
Пример #12
0
 def test_encode_with_one_rail(self):
     self.assertEqual(encode('One rail, only one rail', 1),
                      'One rail, only one rail')
Пример #13
0
 def test_encode_with_less_letters_than_rails(self):
     self.assertEqual(encode('More rails than letters', 24),
                      'More rails than letters')
Пример #14
0
 def test_encode_with_ending_in_the_middle(self):
     self.assertMultiLineEqual(encode('EXERCISES', 4), 'ESXIEECSR')
Пример #15
0
 def test_encode_with_ending_in_the_middle(self):
     self.assertMultiLineEqual(encode('EXERCISES', 4), 'ESXIEECSR')
     self.assertMultiLineEqual(encode('TOBEORNOTTOBE', 4), 'TNEOROBBOTOET')
Пример #16
0
 def test_encode_with_ending_in_the_middle(self):
     self.assertMultiLineEqual(encode("EXERCISES", 4), "ESXIEECSR")
Пример #17
0
 def test_encode_with_two_rails(self):
     self.assertMultiLineEqual(encode("XOXOXOXOXOXOXOXOXO", 2),
                               "XXXXXXXXXOOOOOOOOO")
Пример #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")
Пример #19
0
 def test_encode_with_three_rails(self):
     self.assertMultiLineEqual('WECRLTEERDSOEEFEAOCAIVDEN',
                               encode('WEAREDISCOVEREDFLEEATONCE', 3))
Пример #20
0
 def test_encode_with_six_rails(self):
     self.assertMultiLineEqual(encode("FOOBARS", 6), "FOOBASR")
Пример #21
0
 def test_encode_with_two_rails(self):
     self.assertMultiLineEqual('XXXXXXXXXOOOOOOOOO',
                               encode('XOXOXOXOXOXOXOXOXO', 2))
Пример #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))