예제 #1
0
        public void Parse_WhenQueryWithDatePassedIn_ExpectParsedCorrectly()
        {
            // Arrange
            IDynamicQueryParser queryParser = new DynamicQueryParser();

            // Act
            var stopwatch = Stopwatch.StartNew();
            var query     = queryParser.Parse <TestEntity>("where::Name:[2018-01-01T00:00:00,*] as datetime orderby::age asc page::1,10");

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);
        }
        public void Build_WhenQueryInWithCountCte_ExpectSqlBuilt()
        {
            // Arrange
            var dynamicQueryParser = new DynamicQueryParser();
            var query1             = dynamicQueryParser.Parse <TestEntity>("select::ColumnId,Name,Age where::column_id:1 and Name:bob and Age:[18,32}orderby::column_id asc page::1,10");

            // Act
            var stopwatch = Stopwatch.StartNew();
            var sqlEntity = query1.CreateSqlQuery().From("users").Build();

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Console.WriteLine(sqlEntity.Sql);
        }
예제 #3
0
        public void Parse_WhenWherePartOfQuery_ExpectParsedCorrectly()
        {
            // Arrange
            IDynamicQueryParser queryParser = new DynamicQueryParser();

            // Act
            var stopwatch = Stopwatch.StartNew();
            var query     = queryParser.Parse <TestEntity>("where::Name:\"test name\" and age:[10,25]");

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(query.OrderByNodes, Is.Null);
            Assert.That(query.PageNode, Is.Null);
        }
예제 #4
0
        public void Parse_WhenNoWhere_ExpectNoWhereOnQueryQuery()
        {
            // Arrange
            IDynamicQueryParser queryParser = new DynamicQueryParser();

            // Act
            var stopwatch = Stopwatch.StartNew();
            var query     = queryParser.Parse <TestEntity>("orderby::age asc page::1,10");

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(query.WhereNode, Is.Null);
            Assert.That(query.OrderByNodes, Is.Not.Null);
            Assert.That(query.PageNode, Is.Not.Null);
        }
예제 #5
0
        public void Parse_WhenEmptyString_ExpectNullQuery()
        {
            // Arrange
            IDynamicQueryParser queryParser = new DynamicQueryParser();

            // Act
            var stopwatch = Stopwatch.StartNew();
            var query     = queryParser.Parse <TestEntity>(string.Empty);

            stopwatch.Stop();

            // Assert
            this.WriteTimeElapsed(stopwatch);

            Assert.That(query.WhereNode, Is.Null);
            Assert.That(query.OrderByNodes, Is.Null);
            Assert.That(query.PageNode, Is.Null);
        }
예제 #6
0
        public void Parse_WhenQueryPassedIn_ExpectParsedCorrectly()
        {
            // Arrange
            IDynamicQueryParser queryParser = new DynamicQueryParser();

            // Act
            var stopwatch = Stopwatch.StartNew();
            var query     = queryParser.Parse <TestEntity>("where::Name:\"test name\" and age:asdorderby::age asc page::1,10");

            stopwatch.Stop();

            query.Where(new WhereNode {
                Statement = new WhereStatement {
                    Value = EqualsNode.CreateEquals("test", "bob")
                }
            });
            query.Where("val:bob");

            // Assert
            this.WriteTimeElapsed(stopwatch);
        }