Exemple #1
0
        public void TripleRotorSet_EncryptDecrypt_Overloaded_Test()
        {
            var rotorSet     = new RotorSet(new[] { 3, 4, 5 });
            var encryptIndex = rotorSet.GetEncryptedIndexAndRotate(2);
            var decryptIndex = rotorSet.GetDecryptedIndexAndRotate(encryptIndex);

            decryptIndex.Should().Be(2);
        }
Exemple #2
0
        public void RotorSet_DoubleRightRotation_Test_2()
        {
            var rotorSet = new RotorSet(2);

            rotorSet.LeftRotate(60);
            rotorSet.Rotors[0].Position.Should().Be(-60);
            rotorSet.Rotors[1].Position.Should().Be(-2);
        }
Exemple #3
0
        public void DoubleRotorSet_EncryptDecrypt_Test()
        {
            var rotorSet     = new RotorSet(2);
            var encryptIndex = rotorSet.GetEncryptedIndexAndRotate(2);
            var decryptIndex = rotorSet.GetDecryptedIndexAndRotate(encryptIndex);

            decryptIndex.Should().Be(2);
        }
Exemple #4
0
        public void RotorSet_TwoRotors_Initialization_Test()
        {
            var rotorSet = new RotorSet(2);

            rotorSet.Rotors.Count.Should().Be(2);
            rotorSet.Rotors[0].Position.Should().Be(0);
            rotorSet.Rotors[1].Position.Should().Be(0);
        }
Exemple #5
0
        public void RotorSet_DoubleRightRotation_Test()
        {
            var rotorSet = new RotorSet(2);

            rotorSet.RightRotate(30);
            rotorSet.Rotors[0].Position.Should().Be(30);
            rotorSet.Rotors[1].Position.Should().Be(1);
        }
Exemple #6
0
        public void TripleRotorSet_TripleRightRotation_Test()
        {
            var rotorSet = new RotorSet(3);

            rotorSet.LeftRotate(677);
            rotorSet.Rotors[0].Position.Should().Be(-677);
            rotorSet.Rotors[1].Position.Should().Be(-25);
            rotorSet.Rotors[2].Position.Should().Be(0);
        }
Exemple #7
0
        public void RotorSet_TwoRotors_ArrayInitialization_Test()
        {
            var positions = new[] { 3, 2 };
            var rotorSet  = new RotorSet(positions);

            rotorSet.Rotors.Count.Should().Be(2);
            rotorSet.Rotors[0].Position.Should().Be(3);
            rotorSet.Rotors[1].Position.Should().Be(2);
        }
Exemple #8
0
        public void RotorSet_TwoRotors_ArrayOverflowInitializationNegative_Test()
        {
            var positions = new[] { -30, 2 };
            var rotorSet  = new RotorSet(positions);

            rotorSet.Rotors.Count.Should().Be(2);
            rotorSet.Rotors[0].Position.Should().Be(-30);
            rotorSet.Rotors[0].TotalRotationsCount.Should().Be(-1);
            rotorSet.Rotors[1].Position.Should().Be(2);
            rotorSet.Rotors[1].TotalRotationsCount.Should().Be(0);
        }
Exemple #9
0
        public static void Main()
        {
            var rotorSet = new RotorSet(new[] { 3, 4, 5 });
            var enigma   = new Implementations.Enigma(rotorSet);

            var encrypt = enigma.EncryptMessage("ENIGMA WAS USED IN SECOND WORLD WAR");

            Console.WriteLine(encrypt.Message);    // POFNTDWAKUGUFJGVKBTZVTKLFHBRGUQDLSY

            var decrypt = enigma.DecryptMessage(encrypt);

            Console.WriteLine(decrypt);            // ENIGMA WAS USED IN SECOND WORLD WAR
        }