using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.SQLite; using Xunit; namespace Tests.SQLiteConnectionExtensions { public class Methods { string _connectString = "Data Source=|DataDirectory|/document.db;Attachs=xxxtb.db;Pooling=true;Max Pool Size=5"; public Methods() { g.sqlite.CodeFirst.SyncStructure(); } [Fact] public void Insert() { var affrows = 0; using (var conn = new SQLiteConnection(_connectString)) { var item = new TestConnectionExt { title = "testinsert" }; affrows = conn.Insert().AppendData(item).ExecuteAffrows(); conn.Close(); } Assert.Equal(1, affrows); } [Fact] public void Update() { var affrows = 0; using (var conn = new SQLiteConnection(_connectString)) { var item = new TestConnectionExt { title = "testupdate" }; affrows = conn.Insert().AppendData(item).ExecuteAffrows(); Assert.Equal(1, affrows); item = conn.Select().First(); affrows = conn.Update().SetSource(item).Set(a => a.title, "testupdated").ExecuteAffrows(); conn.Close(); } Assert.Equal(1, affrows); } [Fact] public void Delete() { var affrows = 0; using (var conn = new SQLiteConnection(_connectString)) { var item = new TestConnectionExt { title = "testdelete" }; affrows = conn.Insert().AppendData(item).ExecuteAffrows(); Assert.Equal(1, affrows); affrows = conn.Delete().Where(item).ExecuteAffrows(); conn.Close(); } Assert.Equal(1, affrows); } [Fact] public void Select() { var list = new List(); var affrows = 0; using (var conn = new SQLiteConnection(_connectString)) { var item = new TestConnectionExt { title = "testselect" }; affrows = conn.Insert().AppendData(item).ExecuteAffrows(); Assert.Equal(1, affrows); list = conn.Select().Where(a => a.id == item.id).ToList(); conn.Close(); } Assert.Single(list); } class TestConnectionExt { public Guid id { get; set; } public string title { get; set; } public DateTime createTime { get; set; } = DateTime.Now; } } }