public void TestEnumerator() { QueryString qs = new QueryString(); qs.AddList("arg1", "value"); qs.AddList("arg1", "value2"); qs.Add("arg2", "value2"); int count = 0; foreach (var item in qs) { count++; Assert.IsInstanceOfType(item.Key, typeof(string)); Assert.IsInstanceOfType(item.Value.Item1, typeof(ParamType)); Assert.IsInstanceOfType(item.Value.Item2, typeof(string)); if (item.Key.Equals("arg1")) { Assert.AreEqual(ParamType.List, item.Value.Item1); } else if (item.Key.Equals("arg2")) { Assert.AreEqual(ParamType.Single, item.Value.Item1); } } Assert.AreEqual(3, count); }
public void TestRemoveListArguments() { QueryString qs = new QueryString(); qs.AddList("arg1", "value"); qs.AddList("arg1", "value2"); qs.RemoveKey("arg1"); qs.AddList("arg2", "value"); Assert.AreEqual("?arg2=value", qs.ToString()); }
public void TestListArguments() { QueryString qs = new QueryString(); qs.AddList("arg1", "value"); qs.AddList("arg1", "value2"); Assert.AreEqual("?arg1=value&arg1=value2", qs.ToString()); qs.AddList("arg2", "value"); Assert.AreEqual(true, qs.ToString().Contains("arg2=value")); }
public void TestGetListArguments() { QueryString qs = new QueryString(); qs.AddList("arg1", "value"); qs.AddList("arg1", "value2"); qs.AddList("arg2", "value"); bool result = qs.TryGetList("arg1", out string[] values); Assert.IsTrue(values.SequenceEqual(new string[] { "value", "value2" })); Assert.IsTrue(result); result = qs.TryGetList("arg3", out string[] valuesNull); Assert.IsNull(valuesNull); Assert.IsFalse(result); }
public Builder WithQueryStringParam(string key, string value, ParamType type = ParamType.Single) { if (type.Equals(ParamType.Single)) { queryString.Add(key, value); } else { queryString.AddList(key, value); } return(this); }
protected internal Builder(RequestHandler request) { this.request = new RequestHandler(); this.request.BaseUrl = request.BaseUrl; this.request.Endpoint = request.Endpoint; queryString = new QueryString(); foreach (KeyValuePair <string, (ParamType Type, string ParamValue)> kvp in request.queryString) { switch (kvp.Value.Type) { case ParamType.List: queryString.AddList(kvp.Key, kvp.Value.ParamValue); break; case ParamType.Single: queryString.Add(kvp.Key, kvp.Value.ParamValue); break; default: break; } } }