예제 #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))