예제 #1
0
        public void EncodeString()
        {
            string input = complexString;

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(complexEscapedStrings[encodingContext], actual);
            }
        }
예제 #2
0
        public void EncodeEmptyString()
        {
            const string expected = UrlConstants.kEmptyStrRep;
            const string input    = "";

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(expected, actual);
            }
        }
예제 #3
0
        public void EncodeDouble()
        {
            string expected = "12.3456789";
            double input    = 12.3456789;

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(expected, actual);
            }
        }
예제 #4
0
        public void EncodeFloat()
        {
            string expected = "1.23";
            float  input    = 1.23F;

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(expected, actual);
            }
        }
예제 #5
0
        public void EncodeBytes()
        {
            string expected = bytesEncoded;
            Bytes  input    = bytes;

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(expected, actual);
            }
        }
예제 #6
0
        public void EncodeRecord()
        {
            string   expected = greetingEncoded;
            Greeting input    = greeting;

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(expected, actual);
            }
        }
예제 #7
0
        public void EncodeDataList()
        {
            string        expectedTemplate = "List(one,2,3,{0})";
            List <object> input            = new List <object>()
            {
                "one", 2, 3, complexString
            };

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(String.Format(expectedTemplate, complexEscapedStrings[encodingContext]), actual);
            }
        }
예제 #8
0
        public void EncodeDataMap()
        {
            string expectedTemplate           = "(one:foo,three:{0},two:2)";
            Dictionary <string, object> input = new Dictionary <string, object>()
            {
                { "one", "foo" },
                { "two", 2 },
                { "three", complexString }
            };

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(String.Format(expectedTemplate, complexEscapedStrings[encodingContext]), actual);
            }
        }
예제 #9
0
        public void EncodeBool()
        {
            string expected = "true";
            bool   input    = true;

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(expected, actual);
            }

            expected = "false";
            input    = false;

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(expected, actual);
            }
        }
예제 #10
0
        public void EncodeComplexObject()
        {
            string expectedTemplate           = string.Format("(one:foo,three:{1},two:List(one,2,{3},(bytes:{4},record:{2},zero:{0})))", UrlConstants.kEmptyStrRep, "{0}", greetingEncoded, toneEncoded, bytesEncoded);
            Dictionary <string, object> input = new Dictionary <string, object>()
            {
                { "one", "foo" },
                { "two", new List <object>()
                  {
                      "one", 2, tone, new Dictionary <string, object>()
                      {
                          { "zero", "" }, { "record", greeting }, { "bytes", bytes }
                      }
                  } },
                { "three", complexString }
            };

            foreach (UrlConstants.EncodingContext encodingContext in Enum.GetValues(typeof(UrlConstants.EncodingContext)))
            {
                string actual = UrlParamUtil.EncodeDataObject(input, encodingContext);
                Assert.AreEqual(String.Format(expectedTemplate, complexEscapedStrings[encodingContext]), actual);
            }
        }