add tests for enigma_machine

This commit is contained in:
gabriellypinto 2023-10-07 11:22:14 -03:00
parent 678e0aa8cf
commit 4d35248172

View File

@ -1,3 +1,11 @@
"""
Note:
This algorithm has memory persistance.
So multiple runs on the same runtime will carry junk and scramble the result!
"""
alphabets = [chr(i) for i in range(32, 126)]
gear_one = list(range(len(alphabets)))
gear_two = list(range(len(alphabets)))
@ -40,7 +48,22 @@ def engine(input_character):
rotator()
if __name__ == "__main__":
def encode_or_decode(message, token):
"""
>>> encode_or_decode("hello", 3)
(['/', '0', "'", '%', ' '], 3)
"""
for _ in range(token):
rotator()
for j in message:
engine(j)
return code, token
def menu():
decode = list(input("Type your message:\n"))
while True:
try:
@ -57,3 +80,10 @@ if __name__ == "__main__":
f"\nYour Token is {token} please write it down.\nIf you want to decode "
"this message again you should input same digits as token!"
)
if __name__ == "__main__":
import doctest
doctest.testmod()