예제 #1
0
        public static void EmptyKeyThrowsException()
        {
            var random  = new Randomizer();
            var encoder = new VigenereEncoder();
            var message = random.GetString();
            var key     = string.Empty;

            _ = Assert.Throws <ArgumentOutOfRangeException>(() => encoder.Encode(message, key));
            _ = Assert.Throws <ArgumentOutOfRangeException>(() => encoder.Decode(message, key));
        }
예제 #2
0
        public void DecodedStringIsSame()
        {
            var message = RandomMessage;
            var key     = RandomMessage;

            var encoded = encoder.Encode(message, key);
            var decoded = encoder.Decode(encoded, key);

            Assert.AreEqual(message, decoded);
        }
        public static void Encode_KeyIsTooShort_KeyIsAppended()
        {
            // Arrange
            var encoder = new VigenereEncoder();
            var message = new string('a', 2);
            var key     = new string('a', 1);

            // Act
            var encoded = encoder.Encode(message, key);
            var decoded = encoder.Decode(encoded, key);

            // Assert
            Assert.AreEqual(message, decoded);
        }
예제 #4
0
        public static void DecodedStringIsTheSame()
        {
            // Arrange
            var random  = new Randomizer();
            var encoder = new VigenereEncoder();
            var message = random.GetString();
            var key     = random.GetString(random.Next(0, 1000));

            // Act
            var encoded = encoder.Encode(message, key);
            var decoded = encoder.Decode(encoded, key);

            // Assert
            Assert.AreEqual(message, decoded);
        }