Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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]);
        }
Esempio n. 3
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"));
        }
Esempio n. 4
0
        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]);
        }
Esempio n. 5
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, "");
            }
        }