class Test_Enigma(unittest.TestCase): def setUp(self): self.enigma = Enigma(Plugboard('VZBRGITYUPSDNHLXAWMJQOFECK'), Reflector('JPGVOUMFYQBENHZRDKASXLICTW'), Settings("ABC")) self.enigma2 = Enigma(Plugboard('VZBRGITYUPSDNHLXAWMJQOFECK'), Reflector('JPGVOUMFYQBENHZRDKASXLICTW'), Settings("WGF")) def test_encode_and_decode(self): self.enigma.set_machine("FSOKANUERHMBTIYCWLQPZXVGJD", "LEYJVCNIXWPBQMDRTAKZGFUHOS", "NZJHGRCXMYSWBOUFAIVLPEKQDT") self.enigma2.set_machine("FSOKANUERHMBTIYCWLQPZXVGJD", "LEYJVCNIXWPBQMDRTAKZGFUHOS", "NZJHGRCXMYSWBOUFAIVLPEKQDT") self.enigma.encode(["A"]) self.enigma2.encode(["A"]) self.assertEqual(self.enigma.encode_text, [21]) self.assertNotEqual(self.enigma2.encode_text, [21]) self.assertNotEqual(self.enigma.decode(), self.enigma2.decode()) self.assertEqual(self.enigma.decode(), ["S"])
characteristic2 = input() Rotor(characteristic2).check_len_alphabet() Rotor(characteristic2).repeat_alphabet() print("Provide your third Rotor set.") characteristic3 = input() Rotor(characteristic3).check_len_alphabet() Rotor(characteristic3).repeat_alphabet() print("Provide your Reflector set.") reflect = input() Reflector(reflect).check_len_alphabet() Reflector(reflect).repeat_alphabet() elif a.upper() == "NO": connect = "WNYPVJXTOAMQIZKSRFUHGCEDBL" characteristic1 = "UXBLHWTMCQGZNPYFVOEAJDKSIR" characteristic2 = "TOWYHXUSPAIBRCJEKMFLGDQVZN" characteristic3 = "LCPRTXVZNYEIWGAKMUSQOBDFHJ" reflect = "YRUHQSLDPXNGOKMIEBFZCWVJAT" plugboard = Plugboard(connect) reflektor = Reflector(reflect) enigma = Enigma(plugboard, reflektor, settings) effect = [] for i in user.text: if i == " ": effect.append(i) else: enigma.set_machine(characteristic1, characteristic2, characteristic3) enigma.encode(i) effect = effect + enigma.decode() print("Your encode text is: {}".format("".join(effect)))