public void Where_QueryString_ParseQueryString()
        {
            // Arrange
            Query query = new Query();

            List <object> objList      = new List <object>(new object[] { "aa", "bb", "cc" });
            EnumHelper    enumHaystack = new EnumHelper("HAYstack");

            Dictionary <string, object> fromToMap = new Dictionary <string, object>
            {
                { "from", 444.45 },
                { "to", 555.45 },
            };

            Dictionary <string, object> nestedListMap = new Dictionary <string, object>
            {
                { "from", 123 },
                { "to", 454 },
                { "recurse", objList },
                { "map", fromToMap },
                { "name", enumHaystack }
            };

            query
            .Name("test1")
            .Select("name")
            .Where(nestedListMap);

            IQueryStringBuilder queryString = new QueryStringBuilder();

            // Act
            queryString.AddParams(query);

            string addParamStr = RemoveWhitespace(queryString.QueryString.ToString());

            // Assert
            Assert.AreEqual(RemoveWhitespace("from:123,to:454,recurse:[\"aa\",\"bb\",\"cc\"],map:{from:444.45,to:555.45},name:HAYstack"), addParamStr);
        }
Example #2
0
        public void Where_ClearQueryString_EmptyQueryString()
        {
            // Arrange
            var query = new Query <object>("test1");

            List <object> objList = new List <object>(new object[] { "aa", "bb", "cc" });

            Dictionary <string, object> fromToMap = new Dictionary <string, object>
            {
                { "from", 444.45 },
                { "to", 555.45 },
            };

            Dictionary <string, object> nestedListMap = new Dictionary <string, object>
            {
                { "from", 123 },
                { "to", 454 },
                { "recurse", objList },
                { "map", fromToMap },
                { "name", TestEnum.HAYstack }
            };

            query
            .AddField("name")
            .AddArguments(nestedListMap);

            var queryString = new QueryStringBuilder();

            queryString.AddParams(query);

            // Act
            queryString.QueryString.Clear();

            // Assert
            Assert.True(string.IsNullOrEmpty(queryString.QueryString.ToString()));
        }
Example #3
0
        public void Where_QueryString_ParseQueryString()
        {
            // Arrange
            Query <Car> query = new Query <Car>("test1");

            List <object> objList = new List <object>(new object[] { "aa", "bb", "cc" });

            Dictionary <string, object> fromToMap = new Dictionary <string, object>
            {
                { "from", 444.45 },
                { "to", 555.45 },
            };

            Dictionary <string, object> nestedListMap = new Dictionary <string, object>
            {
                { "from", 123 },
                { "to", 454 },
                { "recurse", objList },
                { "map", fromToMap },
                { "name", TestEnum.HAYstack }
            };

            query
            .AddField("name")
            .AddArguments(nestedListMap);

            QueryStringBuilder queryString = new QueryStringBuilder();

            // Act
            queryString.AddParams(query);

            string addParamStr = queryString.QueryString.ToString();

            // Assert
            Assert.Equal("from:123,to:454,recurse:[\"aa\",\"bb\",\"cc\"],map:{from:444.45,to:555.45},name:HAYstack", addParamStr);
        }