public void TestRotors() { var machine = new MyEnigmaMachine(); RepeatKey(machine, 'A', 26); char[] ringLetters = machine.GetCurrentRotorRingLetters(); Assert.AreEqual('A', ringLetters[2]); Assert.AreEqual('B', ringLetters[1]); RepeatKey(machine, 'A', 25 * 26); ringLetters = machine.GetCurrentRotorRingLetters(); Assert.AreEqual('B', ringLetters[0]); }
public void TestFullCycle() { var machine = new MyEnigmaMachine(); int count = 0; do { machine.PressKey('A'); count++; } while (machine.GetCurrentRotorRingLetters()[0] != 'A' || machine.GetCurrentRotorRingLetters()[1] != 'A' || machine.GetCurrentRotorRingLetters()[2] != 'A'); Assert.AreEqual(26 * 26 * 25, count); }
public void TestDefaultSettings() { var machine = new MyEnigmaMachine(); char[] ringLetters = machine.GetCurrentRotorRingLetters(); Assert.AreEqual('A', ringLetters[2]); Assert.AreEqual('A', ringLetters[1]); Assert.AreEqual('A', ringLetters[0]); }
public void TestRotorsDoubleStepping() { var machine = new MyEnigmaMachine(); machine.SetCurrentRotorRingLetters(new [] { 'A', 'D', 'O' }); RepeatKey(machine, 'A', 6); char[] ringLetters = machine.GetCurrentRotorRingLetters(); Assert.AreEqual('B', ringLetters[0]); Assert.AreEqual('F', ringLetters[1]); Assert.AreEqual('U', ringLetters[2]); }