public void Format_WhenIsWildcardSuffix_ExpectLikeSql() { // Arrange var equalsFormatter = new EqualsFormatter(); var node = new EqualsOperator { Name = "ColumnName", IsNot = false, Value = "bob*", Statement = "ColumnName:bob*", }; // Act var stopwatch = Stopwatch.StartNew(); var sqlDataResponse = equalsFormatter.Format(node, 0); stopwatch.Stop(); // Assert this.WriteTimeElapsed(stopwatch); Assert.That(sqlDataResponse.Sql, Is.EqualTo("ColumnName LIKE @ColumnName0")); Assert.That(sqlDataResponse.Params.First().Value, Is.EqualTo("bob%")); }
public void Format_WhenWildcardWithNot_ExpectNotLikeSql() { // Arrange var equalsFormatter = new EqualsFormatter(); var node = new EqualsOperator { Name = "ColumnName", IsNot = true, Value = @"*bob", Statement = @"ColumnName:*bob", }; // Act var stopwatch = Stopwatch.StartNew(); var sqlDataResponse = equalsFormatter.Format(node, 0); stopwatch.Stop(); // Assert this.WriteTimeElapsed(stopwatch); Assert.That(sqlDataResponse.Sql, Is.EqualTo("ColumnName NOT LIKE @ColumnName0")); Assert.That(sqlDataResponse.Params.First().Value, Is.EqualTo(@"%bob")); }
public void Format_WhenStringNotComparison_ExpectCorrectSql() { // Arrange var equalsFormatter = new EqualsFormatter(); var node = new EqualsOperator { Name = "ColumnName", IsNot = true, Value = "bob", Statement = "ColumnName:bob", }; // Act var stopwatch = Stopwatch.StartNew(); var sqlDataResponse = equalsFormatter.Format(node, 0); stopwatch.Stop(); // Assert this.WriteTimeElapsed(stopwatch); Assert.That(sqlDataResponse.Sql, Is.EqualTo("ColumnName <> @ColumnName0")); Assert.That(sqlDataResponse.Params.First().Value, Is.EqualTo("bob")); }
public void Format_WhenSearchForWordNull_ExpectStandardEquals() { // Arrange var equalsFormatter = new EqualsFormatter(); var node = new EqualsOperator { Name = "ColumnName", IsNot = false, Value = "\"NULL\"", Statement = "ColumnName:\"NULL\"", }; // Act var stopwatch = Stopwatch.StartNew(); var sqlDataResponse = equalsFormatter.Format(node, 0); stopwatch.Stop(); // Assert this.WriteTimeElapsed(stopwatch); Assert.That(sqlDataResponse.Sql, Is.EqualTo("ColumnName = @ColumnName0")); Assert.That(sqlDataResponse.Params.First().Value, Is.EqualTo(@"NULL")); }
public void Format_WhenSearchForNull_ExpectIsNullSql() { // Arrange var equalsFormatter = new EqualsFormatter(); var node = new EqualsOperator { Name = "ColumnName", IsNot = false, Value = @"NULL", Statement = @"ColumnName:NULL", }; // Act var stopwatch = Stopwatch.StartNew(); var sqlDataResponse = equalsFormatter.Format(node, 0); stopwatch.Stop(); // Assert this.WriteTimeElapsed(stopwatch); Assert.That(sqlDataResponse.Sql, Is.EqualTo("ColumnName IS NULL")); Assert.That(sqlDataResponse.Params.Any(), Is.False); }
public void Format_WhenBinaryNode_ExpectWhereStatement() { // Arrange var equalsFormatter = new EqualsFormatter(); var lessThanFormatter = new LessThanFormatter(); var greaterThanFormatter = new GreaterThanFormatter(); var rangeFormatter = new RangeFormatter(); var whereFormatter = new WhereFormatter( equalsFormatter, lessThanFormatter, greaterThanFormatter, rangeFormatter); var whereNode2 = new WhereNode { Statement = new WhereStatement { Value = new EqualsOperator { Name = "FirstName", IsNot = false, Statement = "FirstName:asd", Value = "asd", }, }, }; var whereNode = new WhereNode { Statement = new WhereStatement { Value = new EqualsOperator { Name = "ColumnName", IsNot = false, Statement = "ColumnName:bob", Value = "bob", }, }, Conjunctive = Conjunctives.And, Next = whereNode2, }; // Act var stopwatch = Stopwatch.StartNew(); var sqlDataResponse = whereFormatter.Format(whereNode); stopwatch.Stop(); // Assert this.WriteTimeElapsed(stopwatch); Console.WriteLine(sqlDataResponse.Sql); }
/// <summary> /// Creates this instance. /// </summary> /// <returns>The <see cref="IFormatter"/>.</returns> public static IFormatterFactory Create() { var orderByFormatter = new OrderByFormatter(); var pageFormatter = new PostgresPageFormatter(); var equalsFormatter = new EqualsFormatter(); var lessThanFormatter = new LessThanFormatter(); var greaterThanFormatter = new GreaterThanFormatter(); var rangeFormatter = new RangeFormatter(); var whereFormatter = new WhereFormatter( equalsFormatter, lessThanFormatter, greaterThanFormatter, rangeFormatter); var standardFormatter = new Formatter(orderByFormatter, pageFormatter, whereFormatter); var countCteFormatter = new CountCteFormatter(orderByFormatter, pageFormatter, whereFormatter); return(new FormatterFactory(standardFormatter, countCteFormatter)); }