Exemple #1
0
class MarkII(object):
    def __init__(self, setting_1, setting_2):
        self.wheel_1 = MarkI(setting_1)
        self.wheel_2 = MarkI(setting_2 * -2)

    def encode(self, message):
        return self.wheel_2.encode(self.wheel_1.encode(message))

    def decode(self, message):
        return self.wheel_1.decode(self.wheel_2.decode(message))
Exemple #2
0
class TestMarkI(unittest.TestCase):
    def setUp(self):
        self.mark1 = MarkI(5)

    def testFirstExample(self):
        self.assertEquals(self.mark1.encode('a'), 'f')
        self.assertEquals(self.mark1.encode('c'), 'h')

    def testEncodeBang(self):
        self.assertEquals(self.mark1.encode('!'), '1')

    def testEncodeString(self):
        self.assertEquals(self.mark1.encode('X7w'), 'cC,')

    def testQuestionOne(self):
        mark1 = MarkI(6)
        self.assertEquals(mark1.encode('Strong NE Winds!'), 'Yzxutm5TK5cotjy2')

    def testDecodeLetter(self):
        self.assertEquals(self.mark1.decode('f'), 'a')
        self.assertEquals(self.mark1.decode('h'), 'c')
        self.assertEquals(self.mark1.decode('1'), '!')

    def testDecodeString(self):
        self.assertEquals(self.mark1.decode('cC,'), 'X7w')
Exemple #3
0
 def __init__(self, setting_1, setting_2):
     self.wheel_1 = MarkI(setting_1)
     self.wheel_2 = MarkI(setting_2 * -2)
Exemple #4
0
 def setUp(self):
     self.mark1 = MarkI(5)
Exemple #5
0
 def testQuestionOne(self):
     mark1 = MarkI(6)
     self.assertEquals(mark1.encode('Strong NE Winds!'), 'Yzxutm5TK5cotjy2')