private static ISteckeredEnigma BuildEnigma(char[] ringSettings = null) { if (ringSettings == null) { ringSettings = new char[] { 'A', 'A', 'A' }; } EnigmaFactory factory = new EnigmaFactory(); ISteckeredEnigma enigma = factory.GetEnigmaI(Reflector.B, new Rotor[] { Rotor.I, Rotor.II, Rotor.III }); enigma.SetRingSetting("AAA"); //EnigmaRotor rotorI = EnigmaIMachineTestSupport.CreateRotorI(); //rotorI.SetRingSetting(ringSettings[0]); //EnigmaRotor rotorII = EnigmaIMachineTestSupport.CreateRotorII(); //rotorII.SetRingSetting(ringSettings[1]); //EnigmaRotor rotorIII = EnigmaIMachineTestSupport.CreateRotorIII(); //rotorIII.SetRingSetting(ringSettings[2]); //EnigmaReflector reflectorB = EnigmaIMachineTestSupport.CreateBReflector(); //EnigmaI enigma = new EnigmaI(); //EnigmaRotor[] rotors = new EnigmaRotor[4]; //rotors[0] = reflectorB; //rotors[1] = rotorI; //rotors[2] = rotorII; //rotors[3] = rotorIII; //enigma.SetRotors(rotors); return(enigma); }
private static ISteckeredEnigma BuildEnigma() { EnigmaFactory factory = new EnigmaFactory(); ISteckeredEnigma enigma = factory.GetEnigmaM4(Reflector.BThin, new Rotor[] { Rotor.I, Rotor.I, Rotor.III, Rotor.Beta }); return(enigma); }
public void SteckerWorks() { ISteckeredEnigma enigma = BuildEnigma(); enigma.SetRotorOffset("AAA"); string expectedPreSteckeredResult = "B"; string preSteckeredResult = enigma.Crypt("A"); Assert.AreEqual(expectedPreSteckeredResult, preSteckeredResult); enigma.Stecker('A', 'Z'); enigma.SetRotorOffset("AAA"); string expectedPostSteckeredResult = "U"; string postSteckeredResult = enigma.Crypt("A"); Assert.AreEqual(expectedPostSteckeredResult, postSteckeredResult); }
public void CanStecker() { ISteckeredEnigma enigma = BuildEnigma(); enigma.Stecker('A', 'Z'); }
public void M4_SetRotorOffset() { ISteckeredEnigma enigma = BuildEnigma(); enigma.SetRotorOffset("ABCD"); }