Add unit test

This commit is contained in:
sunkaixuan 2023-01-15 14:24:07 +08:00
parent 57c29d0151
commit 61ac8721d2
3 changed files with 69 additions and 0 deletions

View File

@ -104,6 +104,7 @@
<Compile Include="Models\ViewOrder.cs" />
<Compile Include="Config.cs" />
<Compile Include="UnitTest\UInsert3.cs" />
<Compile Include="UnitTest\ULock.cs" />
<Compile Include="UnitTest\Unit001.cs" />
<Compile Include="UnitTest\UnitByteArray.cs" />
<Compile Include="UnitTest\UnitPgSplit.cs" />

View File

@ -31,6 +31,7 @@ namespace OrmTest
}
public static void Init()
{
ULock.Init();
UInsert3.Init();
UnitSubToList.Init();
UnitByteArray.Init();

View File

@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OrmTest
{
public class ULock
{
public static void Init()
{
var db = NewUnitTest.Db;
db.CodeFirst.InitTables<ULockEntity>();
db.DbMaintenance.TruncateTable<ULockEntity>();
var dt= DateTime.Now;
var id=db.Insertable(new ULockEntity()
{
Name = "oldName",
Ver= dt
}).ExecuteReturnIdentity();
var data = db.Updateable(new ULockEntity()
{
Id = id,
Ver= DateTime.Now,
Name = "newname",
}).ExecuteCommandWithOptLock();
if (data != 1) { throw new Exception("unit error"); };
var data2 = db.Updateable(new ULockEntity()
{
Id = id,
Name = "newname2",
}).ExecuteCommandWithOptLock();
if (data2 != 0) { throw new Exception("unit error"); };
var data3 = db.Updateable(new ULockEntity()
{
Id = id,
Name = "newname2",
})
.UpdateColumns(z=>z.Name).ExecuteCommandWithOptLock();
if (data3 != 0) { throw new Exception("unit error"); }
var ver = db.Queryable<ULockEntity>().InSingle(id);
var data4 = db.Updateable(new ULockEntity()
{
Id = id,
Name = "newname2",
Ver = ver.Ver
})
.UpdateColumns(z => z.Name).ExecuteCommandWithOptLock();
if (data4 != 1) { throw new Exception("unit error"); }
}
public class ULockEntity
{
[SqlSugar.SugarColumn(IsPrimaryKey =true,IsIdentity =true)]
public int Id { get; set; }
public string Name { get; set; }
[SqlSugar.SugarColumn(IsEnableUpdateVersionValidation = true, ColumnDataType ="timestamp" )]
public DateTime Ver { get; set; }
}
}
}