コード例 #1
0
        public void MultiTurnoversTriggerOnARotor()
        {
            EnigmaRotor rotorI = new EnigmaRotor("EKMFLGDQVZNTOWYHXUSPAIBRCJ");

            rotorI.SetTurnover(new char[] { 'Q', 'S' });
            rotorI.SetOffset('Q');
            bool firstTurnoverWorks = rotorI.IsInTurnoverPosition;

            rotorI.SetOffset('S');
            bool secondTurnoverWorks = rotorI.IsInTurnoverPosition;

            Assert.IsTrue(firstTurnoverWorks && secondTurnoverWorks);
        }
コード例 #2
0
ファイル: RotorFactoryTests.cs プロジェクト: Killfile/Enigma2
        public void ConstructTest_RotorVIII()
        {
            string       expectedMapping = "FKQHTLXOCBJSPDZRAMEWNIUYGV";
            char         firstTurnover   = 'Z';
            char         secondTurnover  = 'M';
            RotorFactory factory         = new RotorFactory();
            EnigmaRotor  result          = factory.GetRotor(Rotor.VIII);

            Assert.AreEqual(expectedMapping, result.Mapping);
            result.SetOffset(firstTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
            result.SetOffset(secondTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
        }
コード例 #3
0
ファイル: RotorFactoryTests.cs プロジェクト: Killfile/Enigma2
        public void ConstructTest_RotorVI()
        {
            string       expectedMapping = "JPGVOUMFYQBENHZRDKASXLICTW";
            char         firstTurnover   = 'Z';
            char         secondTurnover  = 'M';
            RotorFactory factory         = new RotorFactory();
            EnigmaRotor  result          = factory.GetRotor(Rotor.VI);

            Assert.AreEqual(expectedMapping, result.Mapping);
            result.SetOffset(firstTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
            result.SetOffset(secondTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
        }
コード例 #4
0
ファイル: RotorFactoryTests.cs プロジェクト: Killfile/Enigma2
        public void ConstructTest_RotorVII()
        {
            string       expectedMapping = "NZJHGRCXMYSWBOUFAIVLPEKQDT";
            char         firstTurnover   = 'Z';
            char         secondTurnover  = 'M';
            RotorFactory factory         = new RotorFactory();
            EnigmaRotor  result          = factory.GetRotor(Rotor.VII);

            Assert.AreEqual(expectedMapping, result.Mapping);
            result.SetOffset(firstTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
            result.SetOffset(secondTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
        }
コード例 #5
0
        public void Rotor_IsInTurnoverPosition_True()
        {
            EnigmaRotor Rotor_I = CreateRotorI();

            Rotor_I.SetOffset('Q');
            Assert.IsTrue(Rotor_I.IsInTurnoverPosition);
        }
コード例 #6
0
        private static EnigmaRotor CreateRotorI()
        {
            EnigmaRotor rotorI = new EnigmaRotor("EKMFLGDQVZNTOWYHXUSPAIBRCJ");

            rotorI.SetOffset('A');
            rotorI.SetTurnover('Q');
            return(rotorI);
        }
コード例 #7
0
        public static EnigmaRotor CreateAlphabeticalRotor()
        {
            EnigmaRotor rotor = new EnigmaRotor("ABCDEFGHIJKLMNOPQRSTUVWXYZ");

            rotor.SetOffset('A');
            rotor.SetTurnover('Y');
            return(rotor);
        }
コード例 #8
0
        public void Rotor_SetOffset()
        {
            char        expected = 'J';
            EnigmaRotor Rotor_I  = CreateRotorI();

            Rotor_I.SetOffset('B');
            char actual = Rotor_I.Convert('A');

            Assert.AreEqual(expected, actual);
        }
コード例 #9
0
        public void Rotor_MappslettersWithRingSettingAndOffset()
        {
            char        expected = 'W';
            EnigmaRotor Rotor_I  = CreateRotorI();

            Rotor_I.SetRingSetting('F');
            Rotor_I.SetOffset('Y');
            char actual = Rotor_I.Convert('A');

            Assert.AreEqual(expected, actual);
        }
コード例 #10
0
ファイル: RotorFactoryTests.cs プロジェクト: Killfile/Enigma2
        public void ConstructTest_RotorV()
        {
            string       expectedMapping  = "VZBRGITYUPSDNHLXAWMJQOFECK";
            char         expectedTurnover = 'Z';
            RotorFactory factory          = new RotorFactory();
            EnigmaRotor  result           = factory.GetRotor(Rotor.V);

            Assert.AreEqual(expectedMapping, result.Mapping);
            result.SetOffset(expectedTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
        }
コード例 #11
0
ファイル: RotorFactoryTests.cs プロジェクト: Killfile/Enigma2
        public void ConstructTest_RotorIV()
        {
            string       expectedMapping  = "ESOVPZJAYQUIRHXLNFTGKDCMWB";
            char         expectedTurnover = 'J';
            RotorFactory factory          = new RotorFactory();
            EnigmaRotor  result           = factory.GetRotor(Rotor.IV);

            Assert.AreEqual(expectedMapping, result.Mapping);
            result.SetOffset(expectedTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
        }
コード例 #12
0
ファイル: RotorFactoryTests.cs プロジェクト: Killfile/Enigma2
        public void ConstructTest_RotorIII()
        {
            string       expectedMapping  = "BDFHJLCPRTXVZNYEIWGAKMUSQO";
            char         expectedTurnover = 'V';
            RotorFactory factory          = new RotorFactory();
            EnigmaRotor  result           = factory.GetRotor(Rotor.III);

            Assert.AreEqual(expectedMapping, result.Mapping);
            result.SetOffset(expectedTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
        }
コード例 #13
0
ファイル: RotorFactoryTests.cs プロジェクト: Killfile/Enigma2
        public void ConstructTest_RotorII()
        {
            string       expectedMapping  = "AJDKSIRUXBLHWTMCQGZNPYFVOE";
            char         expectedTurnover = 'E';
            RotorFactory factory          = new RotorFactory();
            EnigmaRotor  result           = factory.GetRotor(Rotor.II);

            Assert.AreEqual(expectedMapping, result.Mapping);
            result.SetOffset(expectedTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
        }
コード例 #14
0
ファイル: RotorFactoryTests.cs プロジェクト: Killfile/Enigma2
        public void ConstructTest_RotorI()
        {
            string       expectedMapping  = "EKMFLGDQVZNTOWYHXUSPAIBRCJ";
            char         expectedTurnover = 'Q';
            RotorFactory factory          = new RotorFactory();
            EnigmaRotor  result           = factory.GetRotor(Rotor.I);

            Assert.AreEqual(expectedMapping, result.Mapping);
            result.SetOffset(expectedTurnover);
            Assert.IsTrue(result.IsInTurnoverPosition);
        }
コード例 #15
0
        public void Rotor_CanSetOffset()
        {
            EnigmaRotor rotorI = new EnigmaRotor("EKMFLGDQVZNTOWYHXUSPAIBRCJ");

            rotorI.SetOffset('A');
        }