public void JsonLineFile()
        {
            const int expectedCount = 100;

            var whereClauses = new List <string>()
            {
                @"name = 'ok'",
                @"name = 'ok' AND utcnow >= #2018-12-26 01:24:46#",
                @"name = 'ok' AND utcnow >= #2018-12-01 01:24:46# AND utcnow <= #2018-12-31 01:24:46# ",
                @" Range(utcnow, #2018-12-01 01:24:46#, #2018-12-31 01:24:46#) ",
                @" now = #2018-12-25 20:23:49# AND now <> #2018-12-25 20:23:50#",
                @" Wildcard(wildText, 'ABCDE') AND 
                   Wildcard(wildText, '?BCD?') AND
                   Wildcard(wildText, '?B?D?') AND
                   Wildcard(wildText, 'A*E')   AND
                   Wildcard(wildText, 'A*C*E') AND
                   Not( Wildcard(wildText, ""ABCDZ"") )
                "
            };

            whereClauses.Add(JsonQueryRuntime.CombineWhereClauseExpressions(whereClauses, "AND"));
            whereClauses.Add(JsonQueryRuntime.CombineWhereClauseExpressions(whereClauses, "OR"));

            foreach (var whereClause in whereClauses)
            {
                var resultLines = new JsonQueryRuntime(whereClause)
                                  .ExecuteFile(JsonLinesFileName, TextType.JSON_LINES).ToList();
                Assert.AreEqual(expectedCount, resultLines.Count);
            }
        }
        public void File_WithArrayOfObject_QueryInString()
        {
            var resultLines = new JsonQueryRuntime(@"
                In( company, Array('SQUISH', 'ZILLATIDE', 'SKINSERVE') )
            ").ExecuteFile(JsonArrayOfObjectFileName, TextType.JSON).ToList();

            Assert.AreEqual(3, resultLines.Count);
        }
Ejemplo n.º 3
0
        public void String_Equal()
        {
            var resultLines = new JsonQueryRuntime(@"name = ""ok"" ").Execute(GetJsonLines0()).ToList();

            Assert.AreEqual(3, resultLines.Count);
            resultLines = new JsonQueryRuntime(@"name = ""foo"" ").Execute(GetJsonLines0()).ToList();
            Assert.AreEqual(0, resultLines.Count);
        }
        public void File_WithArrayOfObject_QuerySubObject()
        {
            var resultLines = new JsonQueryRuntime(@"
                 IsObject ( Path ( ""friends[?(@.name == 'Harmon Blankenship')]"" ) ) OR
                 IsObject ( Path ( ""friends[?(@.name == 'Juanita Chapman')]"" ) ) 
            ").ExecuteFile(JsonArrayOfObjectFileName, TextType.JSON).ToList();

            Assert.AreEqual(2, resultLines.Count);
        }
Ejemplo n.º 5
0
        public void String_WildCard()
        {
            var resultLines = new JsonQueryRuntime(@" Wildcard(wildText, ""?BCD?"") ").Execute(GetJsonLines0()).ToList();

            Assert.AreEqual(3, resultLines.Count);
            resultLines = new JsonQueryRuntime(@" Wildcard(wildText, ""?BCD?"") OR Wildcard(wildText, ""XYZ"") ").Execute(GetJsonLines0()).ToList();
            Assert.AreEqual(4, resultLines.Count);
            resultLines = new JsonQueryRuntime(@" Wildcard(wildText, ""?BCD?"") AND Wildcard(wildText, ""XYZ"") ").Execute(GetJsonLines0()).ToList();
            Assert.AreEqual(0, resultLines.Count);
        }
        public void Contains()
        {
            var resultLines = new JsonQueryRuntime(@" Contains(text, 'ABCD') ")
                              .ExecuteFile(LogTextFileName, TextType.TEXT).ToList();

            Assert.AreEqual(10, resultLines.Count);

            resultLines = new JsonQueryRuntime(@" Contains(text, 'ZZZZ') ")
                          .ExecuteFile(LogTextFileName, TextType.TEXT).ToList();
            Assert.AreEqual(1, resultLines.Count);
        }
        public void Perf_Execute_String_Equal()
        {
            var lines = GetJsonLines1().ToList();

            var sw          = Stopwatch.StartNew();
            var resultLines = new JsonQueryRuntime(@"name = ""ok"" ").Execute(lines).ToList();

            sw.Stop();

            var expectedCount = lines.Count / 2;

            Assert.AreEqual(expectedCount, resultLines.Count);
            Assert.IsTrue(sw.Elapsed < new System.TimeSpan(0, 0, 4, 200));
        }
        public void File_WithArrayOfObject()
        {
            var resultLines = new JsonQueryRuntime(@" _id= ""5c2d299add266f6d68570885"" ").ExecuteFile(JsonArrayOfObjectFileName, TextType.JSON).ToList();

            Assert.AreEqual(1, resultLines.Count);

            resultLines = new JsonQueryRuntime(@"
                eyeColor = 'blue' AND
                age = 37 AND
                name.first = 'Nancy' AND
                Contains(tags, Array('laboris', 'ea')) AND
                EqualArray(range, Array(0,1,2,3,4,5,6,7,8,9))
            ").ExecuteFile(JsonArrayOfObjectFileName, TextType.JSON).ToList();
            Assert.AreEqual(1, resultLines.Count);

            resultLines = new JsonQueryRuntime(@" 
                eyeColor = 'blue' AND 
                age = 37 AND 
                Path('name.first') = ""Nancy"" AND 
                Contains(tags, Array(""laboris"", ""ea"", ""BAD-VALUE""))
            ").ExecuteFile(JsonArrayOfObjectFileName, TextType.JSON).ToList();
            Assert.AreEqual(0, resultLines.Count);
        }