Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        public void CanStecker()
        {
            ISteckeredEnigma enigma = BuildEnigma();

            enigma.Stecker('A', 'Z');
        }
Esempio n. 5
0
        public void M4_SetRotorOffset()
        {
            ISteckeredEnigma enigma = BuildEnigma();

            enigma.SetRotorOffset("ABCD");
        }