public VigenereEncodeResponse EncodeText(VigenereEncodeRequest request) { var text = request.Text; var key = request.Key; var action = request.Action; var response = new VigenereEncodeResponse(); try { switch (action) { case "encrypt": response.Result = encoder.Encrypt(text, key); response.IsSuccess = true; break; case "decrypt": response.Result = encoder.Decrypt(text, key); response.IsSuccess = true; break; default: response.IsSuccess = false; response.ErrorMessage = "UNKNOWN ACTION"; break; } } catch (Exception e) { response.IsSuccess = false; response.ErrorMessage = $"BAD REQUEST. SHAME ON YOU. {e.Message}"; } return(response); }
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); }