Example #1
0
        public void TestEncryptionDefaultSettings()
        {
            var    machine = new MyEnigmaMachine();
            string cypher  = machine.Encrypt("ABCDEFGHIJKLMNOPQRSTUVWXYZ");

            Assert.AreEqual("FUVEPUMWARVQKEFGHGDIJFMFXI", cypher);
            machine.ResetRotors();
            cypher = machine.Encrypt("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
            Assert.AreEqual("FUVEPUMWARVQKEFGHGDIJFMFXI", cypher);
            machine.ResetRotors();
            cypher = machine.Encrypt("FUVEPUMWARVQKEFGHGDIJFMFXI");
            Assert.AreEqual("ABCDEFGHIJKLMNOPQRSTUVWXYZ", cypher);
        }
Example #2
0
        public void TestEncryptionRingStartingLettertSettings()
        {
            var machine = new MyEnigmaMachine();

            machine.SetCurrentRotorRingLetters(new[] { 'F', 'R', 'Q' });
            string cypher = machine.Encrypt("ABCDEFGHIJKLMNOPQRSTUVWXYZ");

            Assert.AreEqual("MHHKTNIROWJNYMNWKHMVEZQHWU", cypher);
            machine.ResetRotors();
            cypher = machine.Encrypt("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
            Assert.AreEqual("MHHKTNIROWJNYMNWKHMVEZQHWU", cypher);
            machine.ResetRotors();
            cypher = machine.Encrypt("MHHKTNIROWJNYMNWKHMVEZQHWU");
            Assert.AreEqual("ABCDEFGHIJKLMNOPQRSTUVWXYZ", cypher);
        }
Example #3
0
        public void TestEncryptionRingOffsetSettings()
        {
            var machine = new MyEnigmaMachine();

            machine.SetupRotors(new[] { new RotorInfo("I", 'A', 'B'), new RotorInfo("II", 'A', 'B'), new RotorInfo("III", 'A', 'B') });

            string cypher = machine.Encrypt("AAAAA");

            Assert.AreEqual("EWTYX", cypher);
            machine.ResetRotors();
            cypher = machine.Encrypt("AAAAA");
            Assert.AreEqual("EWTYX", cypher);
            machine.ResetRotors();
            cypher = machine.Encrypt("EWTYX");
            Assert.AreEqual("AAAAA", cypher);
        }
Example #4
0
        public void TestLowercaseEncryption()
        {
            var    machine = new MyEnigmaMachine();
            string cypher  = machine.Encrypt("This is a test; Another test. Hello, World!");

            Assert.AreEqual("Zpjj sv s pgbw; Wwiukog fxym. Lprfq, Zpvkw!", cypher);
        }
Example #5
0
        public void TestNonCharEncryption()
        {
            var    machine = new MyEnigmaMachine();
            string cypher  = machine.Encrypt("THIS IS A TEST; ANOTHER TEST. HELLO, WORLD!");

            Assert.AreEqual("ZPJJ SV S PGBW; WWIUKOG FXYM. LPRFQ, ZPVKW!", cypher);
        }
Example #6
0
        public void TestFullParameters()
        {
            var machine = new MyEnigmaMachine();

            machine.SetupRotors(new[] { new RotorInfo("IV", 'M', 'F'), new RotorInfo("V", 'C', 'U'), new RotorInfo("II", 'W', 'T') });
            machine.SetupPlugboard("ABCKEFGHIJDLNMOPQRSTUZWXYV");
            string cypher = machine.Encrypt("This is a test");

            Assert.AreEqual("Rmxe li c wmua", cypher);
        }