Beispiel #1
0
        public EncodeResponse Post(EncodeRequest request)
        {
            EncodeResponse response = new EncodeResponse();

            try
            {
                DataAccess.InsertUrl(request.Url);
                int returnCode = DataAccess.GetMostRecentRecordId();

                response.Code   = UrlMinimizer.Encode(returnCode);
                response.Status = "Success";
            }
            catch (Exception e)
            {
                if (e.Message.Contains("expects the parameter '@Url'"))
                {
                    response.Status = "The Parameters did not include a value for Url";
                }
                else
                {
                    response.Status = e.Message;
                }
            }

            return(response);
        }
        public void AttemptToEncode_AboveValidIndexValues()
        {
            int testInput = 2147392739;

            string testOutput = UrlMinimizer.Encode(testInput);

            Assert.AreEqual("Invalid", testOutput);
        }
        public void AttemptToEncode_BelowValidIndexValues()
        {
            int testInput = 0;

            string testOutput = UrlMinimizer.Encode(testInput);

            Assert.AreEqual("Invalid", testOutput);
        }
        public void Encode_LowestValidIndexValue()
        {
            int testInput = 1;

            string testOutput = UrlMinimizer.Encode(testInput);

            Assert.AreEqual("1y5a", testOutput);
        }
        public void Encode_HighestValidIndexValue()
        {
            //Assuming Offset is set to 90909
            int testInput = 2147392738; //limited to 2147483647 - UrlMinimizer.Offset because of index limitation

            string testOutput = UrlMinimizer.Encode(testInput);


            Assert.AreEqual("zik0zj", testOutput);
        }