Ejemplo n.º 1
0
        public void CtorEmpty()
        {
            IReflectorSettings settings = new ReflectorSettings();

            Assert.Equal("ABCDEFGHIJKLMNOPQRSTUVWXYZ", settings.CharacterSet);
            Assert.Equal("ABCDEFGHIJKLMNOPQRSTUVWXYZ", settings.Substitutions);
            Assert.Equal(0, settings.SubstitutionCount);
        }
Ejemplo n.º 2
0
        public void GetSubstitutionsValid(char from, char to, int substitutionCount)
        {
            IReflectorSettings settings = new ReflectorSettings();

            settings[from] = to;

            Assert.Equal(to, settings[from]);
            Assert.Equal(substitutionCount, settings.SubstitutionCount);
        }
Ejemplo n.º 3
0
        public void Reverse()
        {
            IReflectorSettings settings = new ReflectorSettings();

            Assert.Equal('A', settings.Reflect('A'));
            Assert.Equal('B', settings.Reflect('B'));
            settings['A'] = 'B';
            Assert.Equal('A', settings.Reflect('B'));
            Assert.Equal('B', settings.Reflect('A'));
        }
Ejemplo n.º 4
0
        public void SetSubstitutionInvalid(string characterSet, string substitutions, char from, char to, int substitutionCount)
        {
            IReflectorSettings settings = new ReflectorSettings()
            {
                CharacterSet = characterSet.ToCharArray(), Substitutions = substitutions.ToCharArray()
            };

            Assert.Throws <ArgumentException>("substitution", () => settings[from] = to);
            Assert.Equal(characterSet, settings.CharacterSet);
            Assert.Equal(substitutions, settings.Substitutions);
            Assert.Equal(substitutionCount, settings.SubstitutionCount);
        }
Ejemplo n.º 5
0
        [InlineData("ABC", "CBA", 'A', 'C', "CBA", 2)] // Existing
        public void SetSubstitutionChange(string characterSet, string substitutions, char from, char to, string newSubstitutions, int substitutionCount)
        {
            IReflectorSettings settings = new ReflectorSettings()
            {
                CharacterSet = characterSet.ToCharArray(), Substitutions = substitutions.ToCharArray()
            };

            settings[from] = to;

            Assert.Equal(to, settings[from]);
            Assert.Equal(characterSet, settings.CharacterSet);
            Assert.Equal(newSubstitutions, settings.Substitutions);
            Assert.Equal(substitutionCount, settings.SubstitutionCount);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EnigmaPlugboard"/> class.
 /// </summary>
 public EnigmaPlugboard()
 {
     _characterSet      = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
     _reflectorSettings = new() { CharacterSet = _characterSet, Substitutions = _characterSet };
 }
Ejemplo n.º 7
0
        public void GetSubstitutionsInvalid(char from, char to)
        {
            IReflectorSettings settings = new ReflectorSettings();

            Assert.Throws <ArgumentException>("substitution", () => settings[from] = to);
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EnigmaReflector"/> class.
 /// </summary>
 public EnigmaReflector()
 {
     _reflectorNumber = EnigmaReflectorNumber.B;
     _wiring          = GetWiring(_reflectorNumber);
 }