コード例 #1
0
        public void CanCrypt()
        {
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            assembly.Crypt('A');
        }
コード例 #2
0
        public void CanGetRingSettings()
        {
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            Assert.IsNotNull(assembly.RingSettings);
        }
コード例 #3
0
        public void CanSetRingSettings()
        {
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            assembly.SetRingSettings("AAA");
        }
コード例 #4
0
        public void CanGetRotorSettings()
        {
            string expected = "AAA";
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(new EnigmaRotor[3]);
            string actual = assembly.RotorSettings;
        }
コード例 #5
0
        public void RingSettingsPersist()
        {
            string expected = "QWE";
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            assembly.SetRingSettings(expected);
            Assert.AreEqual(expected, assembly.RingSettings);
        }
コード例 #6
0
        public void RotorSettingsReturnInitialValue()
        {
            string expected = "AAA";
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            string actual = assembly.RotorSettings;

            Assert.AreEqual(expected, actual);
        }
コード例 #7
0
        public void SecondRotorAdvancesAtTurnover()
        {
            string expected = "ABW";
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            assembly.SetRotorOffset("AAV");
            Assert.AreEqual("AAV", assembly.RotorSettings, "Failed to reach starting position");
            assembly.Advance();
            Assert.AreEqual(expected, assembly.RotorSettings);
        }
コード例 #8
0
        public void AdvanceChangesRotorSettings()
        {
            string expected = "AAB";
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            assembly.Advance();
            string actual = assembly.RotorSettings;

            Assert.AreEqual(expected, actual);
        }
コード例 #9
0
        public void CryptsCorrectly()
        {
            char expectedCryptText         = 'U';
            char plainText                 = 'A';
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            char actual = assembly.Crypt(plainText);

            Assert.AreEqual(expectedCryptText, actual);
        }
コード例 #10
0
        public void ThirdRotorAdvancesAtTurnover()
        {
            string startingOffset          = "AEW";
            string expected                = "BFX";
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            assembly.SetRotorOffset(startingOffset);
            Assert.AreEqual(startingOffset, assembly.RotorSettings, "Failed to reach starting position");
            assembly.Advance();
            Assert.AreEqual(expected, assembly.RotorSettings);
        }
コード例 #11
0
        public void PredoublestepTest()
        {
            string startingOffset          = "ADV";
            string expected                = "AEW";
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(BuildRotorArray());
            assembly.SetRotorOffset(startingOffset);
            Assert.AreEqual(startingOffset, assembly.RotorSettings, "Failed to reach starting position");
            assembly.Advance();
            Assert.AreEqual(expected, assembly.RotorSettings);
        }
コード例 #12
0
        public void SecondRotorAdvancesAtBothTurnover()
        {
            string firstExpected           = "ABW";
            string secondExpected          = "ACX";
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            var rotors = BuildRotorArray();

            rotors[3].SetTurnover(new char[] { 'V', 'W' });

            assembly.SetRotors(rotors);
            assembly.SetRotorOffset("AAV");
            Assert.AreEqual("AAV", assembly.RotorSettings, "Failed to reach starting position");
            assembly.Advance();
            Assert.AreEqual(firstExpected, assembly.RotorSettings);
            assembly.Advance();
            Assert.AreEqual(secondExpected, assembly.RotorSettings);
        }
コード例 #13
0
ファイル: EnigmaI.cs プロジェクト: Killfile/Enigma2
 public EnigmaI()
 {
     _rotorAssembly = new RachetedRotorAssembly();
     _procedure     = new CryptProcedure();
     _plugboard     = new Steckerbrett();
 }
コード例 #14
0
        public void CanSetRotors()
        {
            RachetedRotorAssembly assembly = new RachetedRotorAssembly();

            assembly.SetRotors(new EnigmaRotor[3]);
        }
コード例 #15
0
 public void CanConstructThreeRotorAssembly()
 {
     RachetedRotorAssembly assembly = new RachetedRotorAssembly();
 }