forked from ThatRendle/Simple.Data
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNaturalNamingTest.cs
More file actions
72 lines (65 loc) · 4.06 KB
/
NaturalNamingTest.cs
File metadata and controls
72 lines (65 loc) · 4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using System;
using NUnit.Framework;
using Simple.Data.Mocking.Ado;
namespace Simple.Data.IntegrationTest
{
public class NaturalNamingTest : DatabaseIntegrationContext
{
protected override void SetSchema(MockSchemaProvider schemaProvider)
{
schemaProvider.SetTables(
new[] { "dbo", "Customers", "BASE TABLE" },
new[] { "dbo", "Customer_Orders", "BASE TABLE" });
schemaProvider.SetColumns(
new[] { "dbo", "Customers", "CustomerId" },
new[] { "dbo", "Customers", "Customer_Name" },
new[] { "dbo", "Customer_Orders", "ORDER_ID" },
new[] { "dbo", "Customer_Orders", "CUSTOMER_ID" },
new[] { "dbo", "Customer_Orders", "ORDER_DATE" });
schemaProvider.SetPrimaryKeys(new object[] { "dbo", "Customers", "CustomerId", 0 });
schemaProvider.SetForeignKeys(new object[] { "FK_Orders_Customers", "dbo", "Orders", "CustomerId", "dbo", "Customers", "CustomerId", 0 });
}
[Test]
public void DotNetNamingIsCorrectlyResolvedInFind()
{
_db.Customers.Find(_db.Customers.CustomerName == "Arthur");
GeneratedSqlIs("select [dbo].[Customers].[CustomerId], [dbo].[Customers].[Customer_Name] from [dbo].[customers] where [dbo].[customers].[customer_name] = @p1");
Parameter(0).Is("Arthur");
}
[Test]
public void DotNetNamingIsCorrectlyResolvedInOrderBy()
{
_db.Customers.FindAll(_db.Customers.CustomerName == "Arthur").OrderByCustomerName().ToList<dynamic>();
GeneratedSqlIs("select [dbo].[customers].[customerid],[dbo].[customers].[customer_name] from [dbo].[customers] where [dbo].[customers].[customer_name] = @p1 order by [dbo].[customers].[customer_name]");
Parameter(0).Is("Arthur");
}
[Test]
public void DotNetNamingIsCorrectlyResolvedInOrderByExpression()
{
_db.Customers.FindAll(_db.Customers.CustomerName == "Arthur").OrderBy(_db.Customers.CustomerName).ToList<dynamic>();
GeneratedSqlIs("select [dbo].[customers].[customerid],[dbo].[customers].[customer_name] from [dbo].[customers] where [dbo].[customers].[customer_name] = @p1 order by [dbo].[customers].[customer_name]");
Parameter(0).Is("Arthur");
}
[Test]
public void SortOrderIsCorrectlyResolvedInOrderByExpression()
{
_db.Customers.FindAll(_db.Customers.CustomerName == "Arthur").OrderBy(_db.Customers.CustomerName, OrderByDirection.Descending).ToList<dynamic>();
GeneratedSqlIs("select [dbo].[customers].[customerid],[dbo].[customers].[customer_name] from [dbo].[customers] where [dbo].[customers].[customer_name] = @p1 order by [dbo].[customers].[customer_name] desc");
Parameter(0).Is("Arthur");
}
[Test]
public void SortOrderIsCorrectlyResolvedInOrderByThenByExpression()
{
_db.Customers.FindAll(_db.Customers.CustomerName == "Arthur").OrderBy(_db.Customers.CustomerName, OrderByDirection.Descending).ThenBy(_db.Customers.CustomerId, OrderByDirection.Ascending).ToList<dynamic>();
GeneratedSqlIs("select [dbo].[customers].[customerid],[dbo].[customers].[customer_name] from [dbo].[customers] where [dbo].[customers].[customer_name] = @p1 order by [dbo].[customers].[customer_name] desc, [dbo].[customers].[customerid]");
Parameter(0).Is("Arthur");
}
[Test]
public void DotNetNamingInComplexQuery()
{
_db.CustomerOrders.FindAll(_db.CustomerOrders.CustomerId.Like("123%") || (_db.CustomerOrders.CustomerId == null)).ToList<dynamic>();
GeneratedSqlIs("select [dbo].[Customer_Orders].[ORDER_ID],[dbo].[Customer_Orders].[CUSTOMER_ID],[dbo].[Customer_Orders].[ORDER_DATE] from [dbo].[Customer_Orders] where ([dbo].[Customer_Orders].[CUSTOMER_ID] like @p1 OR [dbo].[Customer_Orders].[CUSTOMER_ID] IS NULL)");
Parameter(0).Is("123%");
}
}
}