Skip to content

Commit 9e7d373

Browse files
committed
Tests (Fetch Data) - Select with aliases
1 parent ab308cf commit 9e7d373

File tree

2 files changed

+105
-0
lines changed

2 files changed

+105
-0
lines changed

QueryDB.Core.Tests/DatabaseTests.cs

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,38 @@ public void Test_MSSQL_FetchData_SelectQuery_Joins_UpperCaseKeys()
9898
Assert.AreEqual("SOD", agent.ReferenceData["ORD_DESCRIPTION"]);
9999
}
100100

101+
[TestMethod]
102+
[TestCategory(DB_TESTS), TestCategory(MSSQL_TESTS)]
103+
public void Test_MSSQL_FetchData_SelectQuery_Aliases()
104+
{
105+
var selectSql = Queries.MSSQLQueries.SalesDB.SelectSql_Alias;
106+
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql);
107+
Assert.IsTrue(data.Count == 34);
108+
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Code"] == "A004" && X.ReferenceData["Cust_Code"] == "C00006");
109+
Assert.AreEqual("A004", agent.ReferenceData["Agent_Code"]);
110+
Assert.AreEqual("Ivan", agent.ReferenceData["Agent"]);
111+
Assert.AreEqual("Torento", agent.ReferenceData["Agent_Location"]);
112+
Assert.AreEqual("C00006", agent.ReferenceData["Cust_Code"]);
113+
Assert.AreEqual("Shilton", agent.ReferenceData["Customer"]);
114+
Assert.AreEqual("Torento", agent.ReferenceData["Customer_Location"]);
115+
}
116+
117+
[TestMethod]
118+
[TestCategory(DB_TESTS), TestCategory(MSSQL_TESTS)]
119+
public void Test_MSSQL_FetchData_SelectQuery_Aliases_UpperCaseKeys()
120+
{
121+
var selectSql = Queries.MSSQLQueries.SalesDB.SelectSql_Alias;
122+
var data = new DBContext(DB.MSSQL, MSSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
123+
Assert.IsTrue(data.Count == 34);
124+
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
125+
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
126+
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
127+
Assert.AreEqual("Torento", agent.ReferenceData["AGENT_LOCATION"]);
128+
Assert.AreEqual("C00006", agent.ReferenceData["CUST_CODE"]);
129+
Assert.AreEqual("Shilton", agent.ReferenceData["CUSTOMER"]);
130+
Assert.AreEqual("Torento", agent.ReferenceData["CUSTOMER_LOCATION"]);
131+
}
132+
101133
#endregion
102134

103135
#endregion
@@ -193,6 +225,38 @@ public void Test_MySQL_FetchData_SelectQuery_Joins_UpperCaseKeys()
193225
Assert.AreEqual("SOD", agent.ReferenceData["ORD_DESCRIPTION"]);
194226
}
195227

228+
[TestMethod]
229+
[TestCategory(DB_TESTS), TestCategory(MYSQL_TESTS)]
230+
public void Test_MySQL_FetchData_SelectQuery_Aliases()
231+
{
232+
var selectSql = Queries.MySQLQueries.SalesDB.SelectSql_Alias;
233+
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql);
234+
Assert.IsTrue(data.Count == 34);
235+
var agent = data.FirstOrDefault(X => X.ReferenceData["Agent_Code"] == "A004" && X.ReferenceData["Cust_Code"] == "C00006");
236+
Assert.AreEqual("A004", agent.ReferenceData["Agent_Code"]);
237+
Assert.AreEqual("Ivan", agent.ReferenceData["Agent"]);
238+
Assert.AreEqual("Torento", agent.ReferenceData["Agent_Location"]);
239+
Assert.AreEqual("C00006", agent.ReferenceData["Cust_Code"]);
240+
Assert.AreEqual("Shilton", agent.ReferenceData["Customer"]);
241+
Assert.AreEqual("Torento", agent.ReferenceData["Customer_Location"]);
242+
}
243+
244+
[TestMethod]
245+
[TestCategory(DB_TESTS), TestCategory(MYSQL_TESTS)]
246+
public void Test_MySQL_FetchData_SelectQuery_Aliases_UpperCaseKeys()
247+
{
248+
var selectSql = Queries.MySQLQueries.SalesDB.SelectSql_Alias;
249+
var data = new DBContext(DB.MySQL, MySQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
250+
Assert.IsTrue(data.Count == 34);
251+
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
252+
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
253+
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
254+
Assert.AreEqual("Torento", agent.ReferenceData["AGENT_LOCATION"]);
255+
Assert.AreEqual("C00006", agent.ReferenceData["CUST_CODE"]);
256+
Assert.AreEqual("Shilton", agent.ReferenceData["CUSTOMER"]);
257+
Assert.AreEqual("Torento", agent.ReferenceData["CUSTOMER_LOCATION"]);
258+
}
259+
196260
#endregion
197261

198262
#endregion
@@ -288,6 +352,38 @@ public void Test_Oracle_FetchData_SelectQuery_Joins_UpperCaseKeys()
288352
Assert.AreEqual("SOD", agent.ReferenceData["ORD_DESCRIPTION"]);
289353
}
290354

355+
[TestMethod]
356+
[TestCategory(DB_TESTS), TestCategory(ORACLE_TESTS)]
357+
public void Test_Oracle_FetchData_SelectQuery_Aliases()
358+
{
359+
var selectSql = Queries.OracleQueries.SalesDB.SelectSql_Alias;
360+
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql);
361+
Assert.IsTrue(data.Count == 34);
362+
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
363+
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
364+
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
365+
Assert.AreEqual("Torento", agent.ReferenceData["AGENT_LOCATION"]);
366+
Assert.AreEqual("C00006", agent.ReferenceData["CUST_CODE"]);
367+
Assert.AreEqual("Shilton", agent.ReferenceData["CUSTOMER"]);
368+
Assert.AreEqual("Torento", agent.ReferenceData["CUSTOMER_LOCATION"]);
369+
}
370+
371+
[TestMethod]
372+
[TestCategory(DB_TESTS), TestCategory(ORACLE_TESTS)]
373+
public void Test_Oracle_FetchData_SelectQuery_Aliases_UpperCaseKeys()
374+
{
375+
var selectSql = Queries.OracleQueries.SalesDB.SelectSql_Alias;
376+
var data = new DBContext(DB.Oracle, OracleConnectionString).FetchData(selectSql, upperCaseKeys: true);
377+
Assert.IsTrue(data.Count == 34);
378+
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
379+
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
380+
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
381+
Assert.AreEqual("Torento", agent.ReferenceData["AGENT_LOCATION"]);
382+
Assert.AreEqual("C00006", agent.ReferenceData["CUST_CODE"]);
383+
Assert.AreEqual("Shilton", agent.ReferenceData["CUSTOMER"]);
384+
Assert.AreEqual("Torento", agent.ReferenceData["CUSTOMER_LOCATION"]);
385+
}
386+
291387
#endregion
292388

293389
#endregion

QueryDB.Core.Tests/Queries.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ internal static class SalesDB
1414
public static string SelectSql_Join = @"SELECT A.Agent_Code, A.Agent_Name, C.Cust_Code, C.Cust_Name, O.Ord_Num, O.Ord_Amount, O.Advance_Amount, O.Ord_Date, O.Ord_Description FROM Agents A INNER JOIN
1515
Customer C ON C.Agent_Code = A.Agent_Code INNER JOIN
1616
Orders O ON O.Cust_Code = C.Cust_Code AND O.Agent_Code = A.Agent_Code";
17+
public static string SelectSql_Alias = @"SELECT A.Agent_Name AS Agent, A.WORKING_AREA AS Agent_Location, C.Cust_Name AS Customer, C.WORKING_AREA AS Customer_Location, O.Agent_Code, O.Cust_Code FROM Agents A INNER JOIN
18+
Customer C ON C.Agent_Code = A.Agent_Code INNER JOIN
19+
Orders O ON O.Cust_Code = C.Cust_Code AND O.Agent_Code = A.Agent_Code";
1720
}
1821
}
1922

@@ -29,6 +32,9 @@ internal static class SalesDB
2932
public static string SelectSql_Join = @"SELECT A.Agent_Code, A.Agent_Name, C.Cust_Code, C.Cust_Name, O.Ord_Num, O.Ord_Amount, O.Advance_Amount, O.Ord_Date, O.Ord_Description FROM Agents A INNER JOIN
3033
Customer C ON C.Agent_Code = A.Agent_Code INNER JOIN
3134
Orders O ON O.Cust_Code = C.Cust_Code AND O.Agent_Code = A.Agent_Code";
35+
public static string SelectSql_Alias = @"SELECT A.Agent_Name AS Agent, A.WORKING_AREA AS Agent_Location, C.Cust_Name AS Customer, C.WORKING_AREA AS Customer_Location, O.Agent_Code, O.Cust_Code FROM Agents A INNER JOIN
36+
Customer C ON C.Agent_Code = A.Agent_Code INNER JOIN
37+
Orders O ON O.Cust_Code = C.Cust_Code AND O.Agent_Code = A.Agent_Code";
3238
}
3339
}
3440

@@ -44,6 +50,9 @@ internal static class SalesDB
4450
public static string SelectSql_Join = @"SELECT A.Agent_Code, A.Agent_Name, C.Cust_Code, C.Cust_Name, O.Ord_Num, O.Ord_Amount, O.Advance_Amount, O.Ord_Date, O.Ord_Description FROM Agents A INNER JOIN
4551
Customer C ON C.Agent_Code = A.Agent_Code INNER JOIN
4652
Orders O ON O.Cust_Code = C.Cust_Code AND O.Agent_Code = A.Agent_Code";
53+
public static string SelectSql_Alias = @"SELECT A.Agent_Name AS Agent, A.WORKING_AREA AS Agent_Location, C.Cust_Name AS Customer, C.WORKING_AREA AS Customer_Location, O.Agent_Code, O.Cust_Code FROM Agents A INNER JOIN
54+
Customer C ON C.Agent_Code = A.Agent_Code INNER JOIN
55+
Orders O ON O.Cust_Code = C.Cust_Code AND O.Agent_Code = A.Agent_Code";
4756
}
4857
}
4958
}

0 commit comments

Comments
 (0)