コード例 #1
0
        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);
        }
コード例 #2
0
        public void EncryptWithKeyExceptionTest()
        {
            // arrange
            string text = "АЁЙ цйуфы 123 !э ю.,:'~sadawq";
            string key  = "пелENGLISH_LEtterOMG213131231~нь";

            var ve = new VigenereEncoder();

            // act
            ve.Encrypt(text, key);
        }
コード例 #3
0
        public void EncryptWithTextExceptionTest()
        {
            // arrange
            string text = "       ";
            string key  = "пелнь";

            var ve = new VigenereEncoder();

            // act
            ve.Encrypt(text, key);
        }
コード例 #4
0
        public void EncryptTest()
        {
            // arrange
            string text      = "АЁЙ цйуфы 123 !э ю.,:'~sadawq";
            string key1      = "пельмень";
            string key2      = "увалень";
            string key3      = "кекс";
            string expected1 = "пкх тцшвч 123 !м г.,:'~sadawq";
            string expected2 = "узй вобро 123 !я ю.,:'~sadawq";
            string expected3 = "ккф зфшям 123 !з г.,:'~sadawq";
            var    ve        = new VigenereEncoder();

            // act
            string ans1 = ve.Encrypt(text, key1);
            string ans2 = ve.Encrypt(text, key2);
            string ans3 = ve.Encrypt(text, key3);

            // assert
            Assert.AreEqual(expected1, ans1);
            Assert.AreEqual(expected2, ans2);
            Assert.AreEqual(expected3, ans3);
        }