public void MergeWithNotEqualKeys_Empty_Value_Mast_Be_Null() { var ps1 = new ParameterString("Key=;"); var ps2 = new ParameterString("Param=;"); ps1.MergeWith(ps2); Assert.AreEqual(null, ps1["Param"].Value); }
public void MergeWithNullIntersectionItem() { var ps1 = new ParameterString("Key=1,2,3,4,5;"); var ps2 = new ParameterString("Key=6,7,8,9,10;"); ps1.MergeWith(ps2); Assert.AreEqual(1, ps1.Keys.Count()); Assert.AreEqual("0", (ps1["Key"].Value as IList <string>)[0]); }
public void MergeWithManyIntersectionItemAndOtherKeys() { var ps1 = new ParameterString("Key=1,2,3,4,5;"); var ps2 = new ParameterString("Key=3,4,5,6,7;Param=qwerty;"); ps1.MergeWith(ps2); Assert.AreEqual(2, ps1.Keys.Count()); Assert.AreEqual(true, ps1.Keys.Contains("Key")); Assert.AreEqual(true, ps1.Keys.Contains("Param")); }
public void MergeWithOneIntersectionItem() { var ps1 = new ParameterString("Key=1,2,3;"); var ps2 = new ParameterString("Key=3,4,5;"); ps1.MergeWith(ps2); Assert.AreEqual(1, ps1.Keys.Count()); Assert.AreEqual("Key", ps1.Keys.ElementAt(0)); Assert.AreEqual("3", (ps1["Key"].Value as IList <string>)[0]); }
private void CreateFilter <T>(object criteria) where T : class { ParameterString pStr = parameterString; if (pStr != null) { pStr.MergeWith(new ParameterString(filter)); } else { pStr = new ParameterString(filter); } Type type = typeof(T); var tree = new Tree(); tree.Parse(pStr, '_'); foreach (var node in tree.Nodes) { CreateFilterForNode <T>(criteria, node, ""); } }