public void Sort_Only_Query_No_Where() { // Arrange var db = new DataMapper(System.Data.SqlClient.SqlClientFactory.Instance, "Data Source=a;Initial Catalog=a;User Id=a;Password=a;"); AutoQueryBuilder<Person> builder = new AutoQueryBuilder<Person>(db, false); // Act builder.OrderBy(p => p.ID).OrderBy(p => p.Name); // Assert builder.GenerateQueries(); string generatedSql = builder.QueryQueue.First().QueryText; Assert.IsTrue(generatedSql.Contains("SELECT [ID],[Name],[Age],[BirthDate],[IsHappy] ")); Assert.IsTrue(generatedSql.Contains("FROM PersonTable")); Assert.IsFalse(generatedSql.Contains("WHERE")); Assert.IsTrue(generatedSql.Contains("ORDER BY [ID],[Name]")); }
public void Complex_Where_Query_No_Sort() { // Arrange var db = new DataMapper(System.Data.SqlClient.SqlClientFactory.Instance, "Data Source=a;Initial Catalog=a;User Id=a;Password=a;"); AutoQueryBuilder<Person> builder = new AutoQueryBuilder<Person>(db, false); // Act builder.Where(p => p.Age > 16 && p.Name.StartsWith("J")); // Assert builder.GenerateQueries(); string generatedSql = builder.QueryQueue.First().QueryText; Assert.IsTrue(generatedSql.Contains("SELECT [ID],[Name],[Age],[BirthDate],[IsHappy] ")); Assert.IsTrue(generatedSql.Contains("FROM PersonTable")); Assert.IsTrue(generatedSql.Contains("(([Age] > @P0 AND [Name] LIKE @P1 + '%'))")); Assert.IsFalse(generatedSql.Contains("ORDER BY")); }
public void Sort_Only_Query_No_Where() { // Arrange var db = new DataMapper(System.Data.SqlClient.SqlClientFactory.Instance, "Data Source=a;Initial Catalog=a;User Id=a;Password=a;"); AutoQueryBuilder <Person> builder = new AutoQueryBuilder <Person>(db, false); // Act builder.OrderBy(p => p.ID).OrderBy(p => p.Name); // Assert builder.GenerateQueries(); string generatedSql = builder.QueryQueue.First().QueryText; Assert.IsTrue(generatedSql.Contains("SELECT [ID],[Name],[Age],[BirthDate],[IsHappy] ")); Assert.IsTrue(generatedSql.Contains("FROM PersonTable")); Assert.IsFalse(generatedSql.Contains("WHERE")); Assert.IsTrue(generatedSql.Contains("ORDER BY [ID],[Name]")); }
public void Complex_Where_Query_No_Sort() { // Arrange var db = new DataMapper(System.Data.SqlClient.SqlClientFactory.Instance, "Data Source=a;Initial Catalog=a;User Id=a;Password=a;"); AutoQueryBuilder <Person> builder = new AutoQueryBuilder <Person>(db, false); // Act builder.Where(p => p.Age > 16 && p.Name.StartsWith("J")); // Assert builder.GenerateQueries(); string generatedSql = builder.QueryQueue.First().QueryText; Assert.IsTrue(generatedSql.Contains("SELECT [ID],[Name],[Age],[BirthDate],[IsHappy] ")); Assert.IsTrue(generatedSql.Contains("FROM PersonTable")); Assert.IsTrue(generatedSql.Contains("(([Age] > @P0 AND [Name] LIKE @P1 + '%'))")); Assert.IsFalse(generatedSql.Contains("ORDER BY")); }
public void Where_Sort_Query_Should_Use_AltName() { // Arrange var db = new DataMapper(System.Data.SqlClient.SqlClientFactory.Instance, "Data Source=a;Initial Catalog=a;User Id=a;Password=a;"); AutoQueryBuilder<Order> builder = new AutoQueryBuilder<Order>(db, true); // Act builder .Where(o => o.OrderItems[0].ID > 0) .OrderBy(o => o.OrderItems[0].ID); // Assert builder.GenerateQueries(); string generatedSql = builder.QueryQueue.First().QueryText; Assert.IsTrue(generatedSql.Contains("SELECT [ID],[OrderName],[OrderItemID],[ItemDescription],[Price],[AmountPaid] ")); Assert.IsTrue(generatedSql.Contains("FROM Order")); Assert.IsTrue(generatedSql.Contains("([OrderItemID] > @P0)")); Assert.IsTrue(generatedSql.Contains("ORDER BY [OrderItemID]")); }
public void Where_Sort_Query_Should_Use_AltName() { // Arrange var db = new DataMapper(System.Data.SqlClient.SqlClientFactory.Instance, "Data Source=a;Initial Catalog=a;User Id=a;Password=a;"); AutoQueryBuilder <Order> builder = new AutoQueryBuilder <Order>(db, true); // Act builder .Where(o => o.OrderItems[0].ID > 0) .OrderBy(o => o.OrderItems[0].ID); // Assert builder.GenerateQueries(); string generatedSql = builder.QueryQueue.First().QueryText; Assert.IsTrue(generatedSql.Contains("SELECT [ID],[OrderName],[OrderItemID],[ItemDescription],[Price],[AmountPaid] ")); Assert.IsTrue(generatedSql.Contains("FROM Order")); Assert.IsTrue(generatedSql.Contains("([OrderItemID] > @P0)")); Assert.IsTrue(generatedSql.Contains("ORDER BY [OrderItemID]")); }