2023-12-09 19:52:07 +00:00
|
|
|
from unittest import TestCase
|
|
|
|
from benchmark.railfence_cipher import railencrypt
|
|
|
|
from benchmark.railfence_cipher import raildecrypt
|
|
|
|
|
|
|
|
|
|
|
|
class Test_railencrypt(TestCase):
|
2023-12-25 21:24:01 +00:00
|
|
|
# distances_true = {1: [0, 0, 0, 1, 1, 0, 0, 1], 2: [2, 1, 0, 1, 0], 3: [1, 0, 1], 4: [0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1]}
|
2023-12-27 15:07:31 +00:00
|
|
|
# distances_false = {1: [1, 1, 1, 0, 0, 1, 1, 0], 2: [0, 0, 1, 0, 1], 3: [0, 1, 0], 4: [126, 0, 0, 0, 110, 0, 0, 0, 0, 117, 0, 52, 0, 50, 0, 67, 0, 0, 32, 0, 0, 0, 104, 0]}
|
2023-12-09 19:52:07 +00:00
|
|
|
def test_railencrypt_1(self):
|
2023-12-27 15:07:31 +00:00
|
|
|
assert railencrypt(st='~u 4n2hC', k=3) == '~nu42C h'
|
2023-12-09 19:52:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
class Test_raildecrypt(TestCase):
|
2023-12-27 15:07:31 +00:00
|
|
|
# distances_true = {5: [0, 0, 0, 1, 1, 0, 0, 1], 6: [2, 1, 0, 1, 0], 7: [1, 0, 1], 8: [0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1], 9: [0, 0, 0, 0, 0, 0, 0, 0], 10: [8, 0, 0, 1, 1, 0, 0, 1], 12: [0, 1, 0, 1], 11: [1, 0, 1, 0]}
|
|
|
|
# distances_false = {5: [1, 1, 1, 0, 0, 1, 1, 0], 6: [0, 0, 1, 0, 1], 7: [0, 1, 0], 8: [1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0], 9: [58, 96, 58, 124, 48, 73, 82, 79], 10: [0, 1, 1, 0, 0, 1, 1, 0], 12: [1, 0, 1, 0], 11: [0, 1, 0, 1]}
|
2023-12-09 19:52:07 +00:00
|
|
|
def test_raildecrypt_1(self):
|
2023-12-27 15:07:31 +00:00
|
|
|
assert raildecrypt(st=':0`|IO:R', k=3) == ':`:|0IRO'
|