Update unit test

This commit is contained in:
sunkaixuan 2023-01-12 19:35:28 +08:00
parent 683b8f0e9b
commit 1cb9871d8d
10 changed files with 21 additions and 73 deletions

View File

@ -89,6 +89,8 @@ namespace OrmTest
db.InsertableByObject(o).ExecuteCommand(); db.InsertableByObject(o).ExecuteCommand();
object os = db.Queryable<Order>().Take(2).ToList(); object os = db.Queryable<Order>().Take(2).ToList();
db.InsertableByObject(os).ExecuteCommand(); db.InsertableByObject(os).ExecuteCommand();
db.CodeFirst.InitTables<City>();
Console.WriteLine("#### Insertable End ####"); Console.WriteLine("#### Insertable End ####");
} }

View File

@ -31,61 +31,7 @@ namespace OrmTest
} }
public static void Init() public static void Init()
{ {
UInsert3.Init();
USelectTest.Init();
UnitSubToList.Init();
UnitByteArray.Init();
UnitInsertNavOneToOne.Init();
CrossDatabase01.Init();
CrossDatabase02.Init();
CrossDatabase03.Init();
UInsertNav0adsf.Init();
UExp.Init();
USelectSinleDTO.Init();
UCustom024.Init();
UCustom24.Init();
UCustom20.Init();
UTran2.Init();
UnitUpdateSubQuery.Init();
UnitManyToManyDeleteNav.Init();
UnitTestReturnPkList.Init();
UnitCustom12312.Init();
UnitEnum22.Init();
UCustom025.Init();
UnitTestConfigQuery.Init();
UnitSub.Init();
UnitUpdateNavN3.Init();
UnitOneToOne12.Init();
UnitInsertNav3.Init();
UnitInsertNav2.Init();
UnitInsertNav.Init();
UnitInsertNav.Init();
UnitSelectN.Init();
UnitOneToOneN2.Init();
UnitManyToManyUpdate.Init();
UnitManyToMay1231.Init();
UnitUpdateNav2.Init();
UnitUpdateNav.Init();
UnitOneToOneN.Init();
ULock.Init();
UnitManyToMany2.Init();
UOneManyMany5.init();
UOneManyMany4.init();
UOneManyMany3.init();
UOneManyMany2.init();
UOneManyMany.init();
UNavDynamic111N.Init();
UCustomNavigate01.Init();
UCustom023.Init();
UCustom22.Init();
UByteArray.Init();
UCustom021.Inti();
UCustom020.Init();
UCustom019.Init();
UnitManyToMany.Init();
UCustom018.Init();
UCustom017.Init();
UCustom016.Init();
UCustom015.Init(); UCustom015.Init();
UCustom014.Init(); UCustom014.Init();
UCustom013.Init(); UCustom013.Init();

View File

@ -34,7 +34,7 @@ namespace OrmTest
.Queryable<UserDO, T>((u, a) => new JoinQueryInfos(JoinType.Inner, u.Id == a.UserId)) .Queryable<UserDO, T>((u, a) => new JoinQueryInfos(JoinType.Inner, u.Id == a.UserId))
.Where((u, a) => u.Id == 1) .Where((u, a) => u.Id == 1)
.Select((u, a) => a).ToSql(); .Select((u, a) => a).ToSql();
Check.Exception("SELECT a.* FROM [UserDO] u Inner JOIN [MyJoin] a ON ( [u].[Id] = [a].[UserId] ) WHERE ( [u].[Id] = @Id0 )" != sql.Key,"unit error"); Check.Exception("SELECT a.* FROM [UserDO] [u] Inner JOIN [MyJoin] a ON ( [u].[Id] = [a].[UserId] ) WHERE ( [u].[Id] = @Id0 )" != sql.Key,"unit error");
} }
} }
public class MyJoin : IUserLink public class MyJoin : IUserLink

View File

@ -17,7 +17,7 @@ namespace OrmTest
JoinType.Left, o.CustomId == c.Id JoinType.Left, o.CustomId == c.Id
)) ))
.Select<ViewModel>().ToSql().Key; .Select<ViewModel>().ToSql().Key;
UValidate.Check(sql, @"SELECT o.[Name] AS [Name],o.[Price] AS [Price],i.[OrderId] AS [OrderItemOrderId],i.[Price] AS [OrderItemPrice],c.[Name] AS [CustomName] FROM [Order] o Left JOIN [OrderDetail] i ON ( [o].[Id] = [i].[OrderId] ) Left JOIN [Custom] c ON ( [o].[CustomId] = [c].[Id] )","unit"); UValidate.Check(sql, @"SELECT o.[Name] AS [Name],o.[Price] AS [Price],i.[OrderId] AS [OrderItemOrderId],i.[Price] AS [OrderItemPrice],c.[Name] AS [CustomName] FROM [Order] [o] Left JOIN [OrderDetail] i ON ( [o].[Id] = [i].[OrderId] ) Left JOIN [Custom] c ON ( [o].[CustomId] = [c].[Id] )","unit");
var list = var list =
db.Queryable<Order, OrderItem, Custom>((o, i, c) => new JoinQueryInfos( db.Queryable<Order, OrderItem, Custom>((o, i, c) => new JoinQueryInfos(
JoinType.Left, o.Id == i.OrderId, JoinType.Left, o.Id == i.OrderId,

View File

@ -45,43 +45,43 @@ namespace OrmTest
var s6 = db.Queryable<UnitFilterClass1, UnitFilterClass2>((o, i) => i.id == o.id).Select("o.*").ToSql(); var s6 = db.Queryable<UnitFilterClass1, UnitFilterClass2>((o, i) => i.id == o.id).Select("o.*").ToSql();
UValidate.Check(s6.Key, "SELECT o.* FROM [UnitFilterClass1] o ,[UnitFilterClass2] i WHERE ( [i].[id] = [o].[id] ) AND ( [o].[id] > @id0 )", "UnitFilter"); UValidate.Check(s6.Key, "SELECT o.* FROM [UnitFilterClass1] [o] ,[UnitFilterClass2] i WHERE ( [i].[id] = [o].[id] ) AND ( [o].[id] > @id0 )", "UnitFilter");
var s7 = db.Queryable<UnitFilterClass1, UnitFilterClass2>((o, i) => i.id == o.id).Where(o=>o.id==1).Select("o.*").ToSql(); var s7 = db.Queryable<UnitFilterClass1, UnitFilterClass2>((o, i) => i.id == o.id).Where(o=>o.id==1).Select("o.*").ToSql();
UValidate.Check(s7.Key, "SELECT o.* FROM [UnitFilterClass1] o ,[UnitFilterClass2] i WHERE ( [i].[id] = [o].[id] ) AND ( [o].[id] = @id0 ) AND ( [o].[id] > @id1 )", "UnitFilter"); UValidate.Check(s7.Key, "SELECT o.* FROM [UnitFilterClass1] [o] ,[UnitFilterClass2] i WHERE ( [i].[id] = [o].[id] ) AND ( [o].[id] = @id0 ) AND ( [o].[id] > @id1 )", "UnitFilter");
var s8 = db.Queryable<UnitFilterClass2, UnitFilterClass1>((o, i) => i.id == o.id).Where(o => o.id == 1).Select("o.*").ToSql(); var s8 = db.Queryable<UnitFilterClass2, UnitFilterClass1>((o, i) => i.id == o.id).Where(o => o.id == 1).Select("o.*").ToSql();
UValidate.Check(s8.Key, "SELECT o.* FROM [UnitFilterClass2] o ,[UnitFilterClass1] i WHERE ( [i].[id] = [o].[id] ) AND ( [o].[id] = @id0 ) AND ( [i].[id] > @id1 )", "UnitFilter"); UValidate.Check(s8.Key, "SELECT o.* FROM [UnitFilterClass2] [o] ,[UnitFilterClass1] i WHERE ( [i].[id] = [o].[id] ) AND ( [o].[id] = @id0 ) AND ( [i].[id] > @id1 )", "UnitFilter");
var s9 = db.Queryable<UnitFilterClass1, UnitFilterClass2>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id)) var s9 = db.Queryable<UnitFilterClass1, UnitFilterClass2>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id))
.Select("o.*").ToSql(); .Select("o.*").ToSql();
UValidate.Check(s9.Key, "SELECT o.* FROM [UnitFilterClass1] o Left JOIN [UnitFilterClass2] i ON ( [o].[id] = [i].[id] ) WHERE ( [o].[id] > @id0 )", "UnitFilter"); UValidate.Check(s9.Key, "SELECT o.* FROM [UnitFilterClass1] [o] Left JOIN [UnitFilterClass2] i ON ( [o].[id] = [i].[id] ) WHERE ( [o].[id] > @id0 )", "UnitFilter");
var s91 = db.Queryable<UnitFilterClass1>().LeftJoin<UnitFilterClass2>((o, i) => o.id == i.id) var s91 = db.Queryable<UnitFilterClass1>().LeftJoin<UnitFilterClass2>((o, i) => o.id == i.id)
.Select("o.*").ToSql(); .Select("o.*").ToSql();
UValidate.Check(s91.Key, "SELECT o.* FROM [UnitFilterClass1] o Left JOIN [UnitFilterClass2] i ON ( [o].[id] = [i].[id] ) WHERE ( [o].[id] > @id0 )", "UnitFilter"); UValidate.Check(s91.Key, "SELECT o.* FROM [UnitFilterClass1] [o] Left JOIN [UnitFilterClass2] i ON ( [o].[id] = [i].[id] ) WHERE ( [o].[id] > @id0 )", "UnitFilter");
var s10= db.Queryable<UnitFilterClass1, UnitFilterClass2>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id)) var s10= db.Queryable<UnitFilterClass1, UnitFilterClass2>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id))
.Where((o,i) =>i.id==0).Select("o.*").ToSql(); .Where((o,i) =>i.id==0).Select("o.*").ToSql();
UValidate.Check(s10.Key, "SELECT o.* FROM [UnitFilterClass1] o Left JOIN [UnitFilterClass2] i ON ( [o].[id] = [i].[id] ) WHERE ( [i].[id] = @id0 ) AND ( [o].[id] > @id1 )", "UnitFilter"); UValidate.Check(s10.Key, "SELECT o.* FROM [UnitFilterClass1] [o] Left JOIN [UnitFilterClass2] i ON ( [o].[id] = [i].[id] ) WHERE ( [i].[id] = @id0 ) AND ( [o].[id] > @id1 )", "UnitFilter");
var s11 = db.Queryable<UnitFilterClass2, UnitFilterClass1>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id)) var s11 = db.Queryable<UnitFilterClass2, UnitFilterClass1>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id))
.Select("o.*").ToSql(); .Select("o.*").ToSql();
UValidate.Check(s11.Key, "SELECT o.* FROM [UnitFilterClass2] o Left JOIN [UnitFilterClass1] i ON ( [o].[id] = [i].[id] ) WHERE ( [i].[id] > @id0 )", "UnitFilter"); UValidate.Check(s11.Key, "SELECT o.* FROM [UnitFilterClass2] [o] Left JOIN [UnitFilterClass1] i ON ( [o].[id] = [i].[id] ) WHERE ( [i].[id] > @id0 )", "UnitFilter");
db.QueryFilter.Add(new SqlSugar.TableFilterItem<UnitFilterClass2>(it => it.id==0)); db.QueryFilter.Add(new SqlSugar.TableFilterItem<UnitFilterClass2>(it => it.id==0));
var s12 = db.Queryable<UnitFilterClass2, UnitFilterClass1>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id)) var s12 = db.Queryable<UnitFilterClass2, UnitFilterClass1>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id))
.Select("o.*").ToSql(); .Select("o.*").ToSql();
UValidate.Check(s12.Key, "SELECT o.* FROM [UnitFilterClass2] o Left JOIN [UnitFilterClass1] i ON ( [o].[id] = [i].[id] ) WHERE ( [i].[id] > @id0 ) AND ( [o].[id] = @id1 )", "UnitFilter"); UValidate.Check(s12.Key, "SELECT o.* FROM [UnitFilterClass2] [o] Left JOIN [UnitFilterClass1] i ON ( [o].[id] = [i].[id] ) WHERE ( [i].[id] > @id0 ) AND ( [o].[id] = @id1 )", "UnitFilter");
var s13 = db.Queryable<UnitFilterClass2, UnitFilterClass1>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id)) var s13 = db.Queryable<UnitFilterClass2, UnitFilterClass1>((o, i) => new JoinQueryInfos(JoinType.Left, o.id == i.id))
.Where(o=>o.name=="") .Where(o=>o.name=="")
.Select("o.*").ToSql(); .Select("o.*").ToSql();
UValidate.Check(s13.Key, "SELECT o.* FROM [UnitFilterClass2] o Left JOIN [UnitFilterClass1] i ON ( [o].[id] = [i].[id] ) WHERE ( [o].[name] = @name0 ) AND ( [i].[id] > @id1 ) AND ( [o].[id] = @id2 )", "UnitFilter"); UValidate.Check(s13.Key, "SELECT o.* FROM [UnitFilterClass2] [o] Left JOIN [UnitFilterClass1] i ON ( [o].[id] = [i].[id] ) WHERE ( [o].[name] = @name0 ) AND ( [i].[id] > @id1 ) AND ( [o].[id] = @id2 )", "UnitFilter");
db.QueryFilter.Clear(); db.QueryFilter.Clear();
db.QueryFilter.Add(new SqlFilterItem() db.QueryFilter.Add(new SqlFilterItem()

View File

@ -288,7 +288,7 @@ namespace OrmTest
.LeftJoin<OrderItem>((o, i) => o.Id == i.OrderId).AS<OrderItem>("[ORDERDETAIL]") .LeftJoin<OrderItem>((o, i) => o.Id == i.OrderId).AS<OrderItem>("[ORDERDETAIL]")
.LeftJoin<Custom>((o, i, c) => c.Id == o.CustomId).AS<Custom>("[CUSTOM]") .LeftJoin<Custom>((o, i, c) => c.Id == o.CustomId).AS<Custom>("[CUSTOM]")
.Select<ViewOrder>().ToSql(); .Select<ViewOrder>().ToSql();
if (sql14.Key!=("SELECT c.[Name] AS [CustomName],o.[Id] AS [Id],o.[Name] AS [Name],o.[Price] AS [Price],o.[CreateTime] AS [CreateTime],o.[CustomId] AS [CustomId] FROM (SELECT * FROM (select * from [ORDER]) t ) o Left JOIN [ORDERDETAIL] i ON ( [o].[Id] = [i].[OrderId] ) Left JOIN [CUSTOM] c ON ( [c].[Id] = [o].[CustomId] ) ")) if (sql14.Key!=("SELECT c.[Name] AS [CustomName],o.[Id] AS [Id],o.[Name] AS [Name],o.[Price] AS [Price],o.[CreateTime] AS [CreateTime],o.[CustomId] AS [CustomId] FROM (SELECT * FROM (select * from [ORDER]) t ) [o] Left JOIN [ORDERDETAIL] i ON ( [o].[Id] = [i].[OrderId] ) Left JOIN [CUSTOM] c ON ( [c].[Id] = [o].[CustomId] ) "))
{ {
throw new Exception("unit error"); throw new Exception("unit error");
} }

View File

@ -11,7 +11,7 @@ namespace OrmTest
public static void SubQueryTest() public static void SubQueryTest()
{ {
var sql= Db.Queryable<Order>().Where(it => SqlFunc.Subqueryable<OrderItem>().Where(s => s.OrderId == it.Id).Any()).ToSql(); var sql= Db.Queryable<Order>().Where(it => SqlFunc.Subqueryable<OrderItem>().Where(s => s.OrderId == it.Id).Any()).ToSql();
if (sql.Key != "SELECT [Id],[Name],[Price],[CreateTime],[CustomId] FROM [Order] it WHERE (EXISTS ( SELECT * FROM [OrderDetail] [s] WHERE ( [OrderId] = [it].[Id] ) ))") if (sql.Key != "SELECT [Id],[Name],[Price],[CreateTime],[CustomId] FROM [Order] [it] WHERE (EXISTS ( SELECT * FROM [OrderDetail] [s] WHERE ( [OrderId] = [it].[Id] ) ))")
{ {
throw new Exception("unit error"); throw new Exception("unit error");
} }
@ -20,7 +20,7 @@ namespace OrmTest
{ {
ItemId = SqlFunc.Subqueryable<OrderItem>().Where(s => s.OrderId == it.Id).Select(s => s.ItemId) ItemId = SqlFunc.Subqueryable<OrderItem>().Where(s => s.OrderId == it.Id).Select(s => s.ItemId)
}).ToSql(); }).ToSql();
if (sql.Key != "SELECT (SELECT TOP 1 [s].[ItemId] FROM [OrderDetail] [s] WHERE ( [OrderId] = [it].[Id] )) AS [ItemId] FROM [Order] it ") if (sql.Key != "SELECT (SELECT TOP 1 [s].[ItemId] FROM [OrderDetail] [s] WHERE ( [OrderId] = [it].[Id] )) AS [ItemId] FROM [Order] [it] ")
{ {
throw new Exception("unit error"); throw new Exception("unit error");
} }

View File

@ -42,7 +42,7 @@ namespace OrmTest
.ToSqlString();//用例代码 .ToSqlString();//用例代码
if (result != "SELECT [StudentId],[SchoolNo] FROM [StudentA__1] student WHERE EXISTS( ( SELECT 1 FROM [SchoolA__1] SchoolA__10 Inner JOIN [SchoolAndRoomA__1] SchoolAndRoomA__1_1 ON SchoolAndRoomA__1_1.[SchoolId]=SchoolA__10.[SchoolId] Inner JOIN [RoomA__1] RoomA__11 ON RoomA__11.[RoomId]=SchoolAndRoomA__1_1.[RoomId] WHERE student.[SchoolNo] = SchoolA__10.[SchoolNo] ) ) ") if (result != "SELECT [StudentId],[SchoolNo] FROM [StudentA__1] [student] WHERE EXISTS( ( SELECT 1 FROM [SchoolA__1] [SchoolA__10] Inner JOIN [SchoolAndRoomA__1] SchoolAndRoomA__1_1 ON SchoolAndRoomA__1_1.[SchoolId]=SchoolA__10.[SchoolId] Inner JOIN [RoomA__1] RoomA__11 ON RoomA__11.[RoomId]=SchoolAndRoomA__1_1.[RoomId] WHERE student.[SchoolNo] = SchoolA__10.[SchoolNo] ) ) ")
{ {
throw new Exception("unit error"); throw new Exception("unit error");
} }

View File

@ -49,7 +49,7 @@ namespace OrmTest
.ToSqlString();//用例代码 .ToSqlString();//用例代码
if (!result.Contains("student.[SchoolNo] = SchoolA0.[SchoolNo]")) if (!result.Contains("[student].[SchoolNo] = [SchoolA0].[SchoolNo]"))
{ {
throw new Exception("unit error"); throw new Exception("unit error");
} }

View File

@ -11,7 +11,7 @@ namespace OrmTest
var db = NewUnitTest.Db; var db = NewUnitTest.Db;
////建表 ////建表
//db.CodeFirst.InitTables<Country, Province, City>();
//db.DbMaintenance.TruncateTable<Country, Province, City>(); //db.DbMaintenance.TruncateTable<Country, Province, City>();
//用例代码 //用例代码
@ -19,7 +19,7 @@ namespace OrmTest
.Where(Country => Country.Province.City.CityId == 1) .Where(Country => Country.Province.City.CityId == 1)
.ToSqlString();//用例代码 .ToSqlString();//用例代码
if (!result.Contains("City1.[ProvinceId]=Province0.[ProvinceId]")) if (!result.Contains("[City1].[ProvinceId]=[Province0].[ProvinceId]"))
{ {
throw new Exception("unit error"); throw new Exception("unit error");
} }