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)); }
public void EncryptWithTextExceptionTest() { // arrange string text = " "; string key = "пелнь"; var ve = new VigenereEncoder(); // act ve.Encrypt(text, key); }
public void EncryptWithKeyExceptionTest() { // arrange string text = "АЁЙ цйуфы 123 !э ю.,:'~sadawq"; string key = "пелENGLISH_LEtterOMG213131231~нь"; var ve = new VigenereEncoder(); // act ve.Encrypt(text, key); }
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); }
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); }
public void DecryptTest() { // arrange string text1 = "пкх тцшвч 123 !м г.,:'~sadawq"; string text2 = "узй вобро 123 !я ю.,:'~sadawq"; string text3 = "ккф зфшям 123 !з г.,:'~sadawq"; string key1 = "пельмень"; string key2 = "увалень"; string key3 = "кекс"; string expected = "аёй цйуфы 123 !э ю.,:'~sadawq"; var ve = new VigenereEncoder(); // act string ans1 = ve.Decrypt(text1, key1); string ans2 = ve.Decrypt(text2, key2); string ans3 = ve.Decrypt(text3, key3); // assert Assert.AreEqual(expected, ans1); Assert.AreEqual(expected, ans2); Assert.AreEqual(expected, ans3); }
public EncodeController(VigenereEncoder encoder, FileManager fileManager) { this.encoder = encoder; this.fileManager = fileManager; }
static void Main(string[] args) { string text, key; while (true) { Console.WriteLine("What to do?"); Console.WriteLine("1. Encrypt"); Console.WriteLine("2. Decrypt"); Console.WriteLine("0. Exit"); Task task = (Task)Convert.ToInt32(Console.ReadLine()); if (task == Task.Exit) { break; } Console.WriteLine("Which cipher?"); Console.WriteLine("1. Vigenere"); Console.WriteLine("2. Caesar"); Cipher cipher = (Cipher)Convert.ToInt32(Console.ReadLine()) - 1; switch (task) { case Task.Encrypt: text = GetText(); key = GetKey(); switch (cipher) { case Cipher.Vigenere: Encode.Encoder encVig = new VigenereEncoder(text, key); EncodedMessage msgVig = encVig.Create(); Console.WriteLine("Encrypted message: {0}", msgVig.text); break; case Cipher.Caesar: Encode.Encoder encCaesar = new CaesarEncoder(text, key); EncodedMessage msgCaesar = encCaesar.Create(); Console.WriteLine("Encrypted message: {0}", msgCaesar.text); break; } break; case Task.Decrypt: text = GetText(); key = GetKey(); switch (cipher) { case Cipher.Vigenere: Decode.Decoder decVig = new VigenereDecoder(text, key); DecodedMessage msgVig = decVig.Create(); Console.WriteLine("Decrypted message: {0}", msgVig.text); break; case Cipher.Caesar: Decode.Decoder decCaesar = new CaesarDecoder(text, key); DecodedMessage msgCaesar = decCaesar.Create(); Console.WriteLine("Decrypted message: {0}", msgCaesar.text); break; } break; } } Console.ReadKey(); }