public void Select_QueryString_ParseQueryString() { // Arrange var subSelect = new Query <object>("subSelect"); Dictionary <string, object> mySubDict = new Dictionary <string, object> { { "subMake", "aston martin" }, { "subState", "ca" }, { "subLimit", 1 }, { "__debug", TestEnum.DISABLED }, { "SuperQuerySpeed", TestEnum.ENABLED } }; var query = new Query <object>("test1") .AddField("more") .AddField("things") .AddField("in_a_select") .AddField <object>("subSelect", q => q .AddField("subName") .AddField("subMake") .AddField("subModel") .AddArguments(mySubDict)); // Act var builder = new QueryStringBuilder(); builder.AddFields(query); string addParamStr = builder.QueryString.ToString(); // Assert Assert.Equal("more things in_a_select subSelect(subMake:\"aston martin\",subState:\"ca\",subLimit:1,__debug:DISABLED,SuperQuerySpeed:ENABLED){subName subMake subModel}", addParamStr); }