diff --git a/FreeSql.Tests/DataContext/SqlServer/SqlServerCollection.cs b/FreeSql.Tests/DataContext/SqlServer/SqlServerCollection.cs new file mode 100644 index 00000000..68b6163e --- /dev/null +++ b/FreeSql.Tests/DataContext/SqlServer/SqlServerCollection.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Xunit; + +namespace FreeSql.Tests.DataContext.SqlServer +{ + [CollectionDefinition("SqlServerCollection")] + public class SqlServerCollection : ICollectionFixture + { + // This class has no code, and is never created. Its purpose is simply + // to be the place to apply [CollectionDefinition] and all the + // ICollectionFixture<> interfaces. + } +} diff --git a/FreeSql.Tests/DataContext/SqlServer/SqlServerFixture.cs b/FreeSql.Tests/DataContext/SqlServer/SqlServerFixture.cs new file mode 100644 index 00000000..eb6f6c26 --- /dev/null +++ b/FreeSql.Tests/DataContext/SqlServer/SqlServerFixture.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace FreeSql.Tests.DataContext.SqlServer +{ + public class SqlServerFixture : IDisposable + { + public SqlServerFixture() + { + sqlServerLazy = new Lazy(() => new FreeSql.FreeSqlBuilder() + .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=cms;Pooling=true;Max Pool Size=10") + //.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=(localdb)\\mssqllocaldb;Integrated Security=True;Initial Catalog=cms;Pooling=true;Max Pool Size=10") + .UseAutoSyncStructure(true) + .UseLazyLoading(true) + .Build()); + + // ... initialize data in the test database ... + } + + public void Dispose() + { + // ... clean up test data from the database ... + } + + private Lazy sqlServerLazy; + public IFreeSql SqlServer => sqlServerLazy.Value; + } +} diff --git a/FreeSql.Tests/FreeSql.Tests.csproj b/FreeSql.Tests/FreeSql.Tests.csproj index 8924c76b..56f55744 100644 --- a/FreeSql.Tests/FreeSql.Tests.csproj +++ b/FreeSql.Tests/FreeSql.Tests.csproj @@ -16,5 +16,9 @@ + + + + diff --git a/FreeSql.Tests/Generator/SqlServerTemplateGeneratorTest.cs b/FreeSql.Tests/Generator/SqlServerTemplateGeneratorTest.cs index 759fbb1f..afad2d98 100644 --- a/FreeSql.Tests/Generator/SqlServerTemplateGeneratorTest.cs +++ b/FreeSql.Tests/Generator/SqlServerTemplateGeneratorTest.cs @@ -1,27 +1,37 @@ using FreeSql.DataAnnotations; using FreeSql.Generator; +using FreeSql.Tests.DataContext.SqlServer; using System; using Xunit; namespace FreeSql.Tests.Generator { + + [Collection("SqlServerCollection")] public class SqlServerTemplateGeneratorTest { + SqlServerFixture _sqlserverFixture; + + public SqlServerTemplateGeneratorTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + [Fact] public void BuildSimpleEntity() { var gen = new TemplateGenerator(); - gen.Build(g.sqlserver.DbFirst, @"C:\Users\28810\Desktop\github\FreeSql\Templates\SqlServer\simple-entity", @"C:\Users\28810\Desktop\新建文件夹 (9)", "shop"); + gen.Build(_sqlserverFixture.SqlServer.DbFirst, @"C:\Users\28810\Desktop\github\FreeSql\Templates\SqlServer\simple-entity", @"C:\Users\28810\Desktop\新建文件夹 (9)", "shop"); } [Fact] public void BuildSimpleEntityNavigationObject () { var gen = new TemplateGenerator(); - gen.Build(g.sqlserver.DbFirst, @"C:\Users\28810\Desktop\github\FreeSql\Templates\SqlServer\simple-entity-navigation-object", @"C:\Users\28810\Desktop\新建文件夹 (9)", "shop"); + gen.Build(_sqlserverFixture.SqlServer.DbFirst, @"C:\Users\28810\Desktop\github\FreeSql\Templates\SqlServer\simple-entity-navigation-object", @"C:\Users\28810\Desktop\新建文件夹 (9)", "shop"); } [Fact] public void BuildRichEntityNavigationObject() { var gen = new TemplateGenerator(); - gen.Build(g.sqlserver.DbFirst, @"C:\Users\28810\Desktop\github\FreeSql\Templates\SqlServer\rich-entity-navigation-object", @"C:\Users\28810\Desktop\新建文件夹 (9)", "shop"); + gen.Build(_sqlserverFixture.SqlServer.DbFirst, @"C:\Users\28810\Desktop\github\FreeSql\Templates\SqlServer\rich-entity-navigation-object", @"C:\Users\28810\Desktop\新建文件夹 (9)", "shop"); } } } diff --git a/FreeSql.Tests/SqlServer/Curd/SqlServerDeleteTest.cs b/FreeSql.Tests/SqlServer/Curd/SqlServerDeleteTest.cs index d3f78e56..5847adb0 100644 --- a/FreeSql.Tests/SqlServer/Curd/SqlServerDeleteTest.cs +++ b/FreeSql.Tests/SqlServer/Curd/SqlServerDeleteTest.cs @@ -1,13 +1,22 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Collections.Generic; using System.Linq; using Xunit; namespace FreeSql.Tests.SqlServer { - public class SqlServerDeleteTest { + [Collection("SqlServerCollection")] + public class SqlServerDeleteTest + { + SqlServerFixture _sqlserverFixture; - IDelete delete => g.sqlserver.Delete(); //�������� + public SqlServerDeleteTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + + IDelete delete => _sqlserverFixture.SqlServer.Delete(); //�������� [Table(Name = "tb_topic22211")] class Topic { @@ -21,17 +30,17 @@ namespace FreeSql.Tests.SqlServer { [Fact] public void Dywhere() { - Assert.Null(g.sqlserver.Delete().ToSql()); - var sql = g.sqlserver.Delete(new[] { 1, 2 }).ToSql(); + Assert.Null(_sqlserverFixture.SqlServer.Delete().ToSql()); + var sql = _sqlserverFixture.SqlServer.Delete(new[] { 1, 2 }).ToSql(); Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1 OR [Id] = 2)", sql); - sql = g.sqlserver.Delete(new Topic { Id = 1, Title = "test" }).ToSql(); + sql = _sqlserverFixture.SqlServer.Delete(new Topic { Id = 1, Title = "test" }).ToSql(); Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1)", sql); - sql = g.sqlserver.Delete(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).ToSql(); + sql = _sqlserverFixture.SqlServer.Delete(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).ToSql(); Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1 OR [Id] = 2)", sql); - sql = g.sqlserver.Delete(new { id = 1 }).ToSql(); + sql = _sqlserverFixture.SqlServer.Delete(new { id = 1 }).ToSql(); Assert.Equal("DELETE FROM [tb_topic22211] WHERE ([Id] = 1)", sql); } @@ -60,17 +69,17 @@ namespace FreeSql.Tests.SqlServer { [Fact] public void ExecuteAffrows() { - var id = g.sqlserver.Insert(new Topic { Title = "xxxx", CreateTime = DateTime.Now }).ExecuteIdentity(); + var id = _sqlserverFixture.SqlServer.Insert(new Topic { Title = "xxxx", CreateTime = DateTime.Now }).ExecuteIdentity(); Assert.Equal(1, delete.Where(a => a.Id == id).ExecuteAffrows()); } [Fact] public void ExecuteDeleted() { - var item = g.sqlserver.Insert(new Topic { Title = "xxxx", CreateTime = DateTime.Now }).ExecuteInserted(); + var item = _sqlserverFixture.SqlServer.Insert(new Topic { Title = "xxxx", CreateTime = DateTime.Now }).ExecuteInserted(); Assert.Equal(item[0].Id, delete.Where(a => a.Id == item[0].Id).ExecuteDeleted()[0].Id); var items = Enumerable.Range(0, 301).Select(a => new Topic { Title = "xxxx" + a, CreateTime = DateTime.Now }); - var itemsInserted = g.sqlserver.Insert(items).ExecuteInserted(); + var itemsInserted = _sqlserverFixture.SqlServer.Insert(items).ExecuteInserted(); Assert.Equal(items.First().Title, itemsInserted[0].Title); Assert.Equal(itemsInserted[0].Id, delete.Where(a => a.Id == itemsInserted[0].Id).ExecuteDeleted()[0].Id); @@ -78,17 +87,17 @@ namespace FreeSql.Tests.SqlServer { [Fact] public void AsTable() { - Assert.Null(g.sqlserver.Delete().ToSql()); - var sql = g.sqlserver.Delete(new[] { 1, 2 }).AsTable(a => "tb_topic22211AsTable").ToSql(); + Assert.Null(_sqlserverFixture.SqlServer.Delete().ToSql()); + var sql = _sqlserverFixture.SqlServer.Delete(new[] { 1, 2 }).AsTable(a => "tb_topic22211AsTable").ToSql(); Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] = 1 OR [Id] = 2)", sql); - sql = g.sqlserver.Delete(new Topic { Id = 1, Title = "test" }).AsTable(a => "tb_topic22211AsTable").ToSql(); + sql = _sqlserverFixture.SqlServer.Delete(new Topic { Id = 1, Title = "test" }).AsTable(a => "tb_topic22211AsTable").ToSql(); Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] = 1)", sql); - sql = g.sqlserver.Delete(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).AsTable(a => "tb_topic22211AsTable").ToSql(); + sql = _sqlserverFixture.SqlServer.Delete(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).AsTable(a => "tb_topic22211AsTable").ToSql(); Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] = 1 OR [Id] = 2)", sql); - sql = g.sqlserver.Delete(new { id = 1 }).AsTable(a => "tb_topic22211AsTable").ToSql(); + sql = _sqlserverFixture.SqlServer.Delete(new { id = 1 }).AsTable(a => "tb_topic22211AsTable").ToSql(); Assert.Equal("DELETE FROM [tb_topic22211AsTable] WHERE ([Id] = 1)", sql); } } diff --git a/FreeSql.Tests/SqlServer/Curd/SqlServerInsertTest.cs b/FreeSql.Tests/SqlServer/Curd/SqlServerInsertTest.cs index 5ffab670..87530539 100644 --- a/FreeSql.Tests/SqlServer/Curd/SqlServerInsertTest.cs +++ b/FreeSql.Tests/SqlServer/Curd/SqlServerInsertTest.cs @@ -1,13 +1,22 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Collections.Generic; using System.Linq; using Xunit; namespace FreeSql.Tests.SqlServer { - public class SqlServerInsertTest { + [Collection("SqlServerCollection")] + public class SqlServerInsertTest + { + SqlServerFixture _sqlserverFixture; - IInsert insert => g.sqlserver.Insert(); //�������� + public SqlServerInsertTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + + IInsert insert => _sqlserverFixture.SqlServer.Insert(); //�������� [Table(Name = "tb_topic")] class Topic { @@ -69,7 +78,7 @@ namespace FreeSql.Tests.SqlServer { Assert.Equal(10, insert.AppendData(items).ExecuteAffrows()); //items = Enumerable.Range(0, 9989).Select(a => new Topic { Title = "newtitle" + a, CreateTime = DateTime.Now }).ToList(); - //Assert.Equal(9989, g.sqlserver.Insert(items).ExecuteAffrows()); + //Assert.Equal(9989, _sqlserverFixture.SqlServer.Insert(items).ExecuteAffrows()); } [Fact] public void ExecuteIdentity() { @@ -81,7 +90,7 @@ namespace FreeSql.Tests.SqlServer { //items = Enumerable.Range(0, 9999).Select(a => new Topic { Title = "newtitle" + a, CreateTime = DateTime.Now }).ToList(); //var lastId = g.sqlite.Select().Max(a => a.Id); - //Assert.NotEqual(lastId, g.sqlserver.Insert(items).ExecuteIdentity()); + //Assert.NotEqual(lastId, _sqlserverFixture.SqlServer.Insert(items).ExecuteIdentity()); } [Fact] public void ExecuteInserted() { @@ -91,7 +100,7 @@ namespace FreeSql.Tests.SqlServer { var items2 = insert.AppendData(items).ExecuteInserted(); items = Enumerable.Range(0, 90).Select(a => new Topic { Title = "newtitle" + a, CreateTime = DateTime.Now }).ToList(); - var itemsInserted = g.sqlserver.Insert(items).ExecuteInserted(); + var itemsInserted = _sqlserverFixture.SqlServer.Insert(items).ExecuteInserted(); Assert.Equal(items.First().Title, itemsInserted.First().Title); Assert.Equal(items.Last().Title, itemsInserted.Last().Title); } diff --git a/FreeSql.Tests/SqlServer/Curd/SqlServerSelectTest.cs b/FreeSql.Tests/SqlServer/Curd/SqlServerSelectTest.cs index fd5fee74..c9728c61 100644 --- a/FreeSql.Tests/SqlServer/Curd/SqlServerSelectTest.cs +++ b/FreeSql.Tests/SqlServer/Curd/SqlServerSelectTest.cs @@ -1,13 +1,22 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Collections.Generic; using System.Linq; using Xunit; namespace FreeSql.Tests.SqlServer { + [Collection("SqlServerCollection")] public class SqlServerSelectTest { - ISelect select => g.sqlserver.Select(); + SqlServerFixture _sqlserverFixture; + + public SqlServerSelectTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + + ISelect select => _sqlserverFixture.SqlServer.Select(); [Table(Name = "tb_topic22")] class Topic { @@ -37,12 +46,12 @@ namespace FreeSql.Tests.SqlServer { var items = new List(); for (var a = 0; a < 10; a++) items.Add(new Topic { Id = a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now }); - Assert.Single(g.sqlserver.Insert().AppendData(items.First()).ExecuteInserted()); - Assert.Equal(10, g.sqlserver.Insert().AppendData(items).ExecuteInserted().Count); + Assert.Single(_sqlserverFixture.SqlServer.Insert().AppendData(items.First()).ExecuteInserted()); + Assert.Equal(10, _sqlserverFixture.SqlServer.Insert().AppendData(items).ExecuteInserted().Count); //items = Enumerable.Range(0, 9989).Select(a => new Topic { Title = "newtitle" + a, CreateTime = DateTime.Now }).ToList(); //; - //Assert.Equal(9989, g.sqlserver.Insert(items).NoneParameter().ExecuteAffrows()); + //Assert.Equal(9989, _sqlserverFixture.SqlServer.Insert(items).NoneParameter().ExecuteAffrows()); var dt1 = select.Limit(10).ToDataTable(); var dt2 = select.Limit(10).ToDataTable("id, getdate()"); @@ -77,10 +86,10 @@ namespace FreeSql.Tests.SqlServer { [Fact] public void Caching() { var result1 = select.Where(a => 1 == 1).Caching(20, "testcaching").ToList(); - var testcaching1 = g.sqlserver.Cache.Get("testcaching"); + var testcaching1 = _sqlserverFixture.SqlServer.Cache.Get("testcaching"); Assert.NotNull(testcaching1); var result2 = select.Where(a => 1 == 1).Caching(20, "testcaching").ToList(); - var testcaching2 = g.sqlserver.Cache.Get("testcaching"); + var testcaching2 = _sqlserverFixture.SqlServer.Cache.Get("testcaching"); Assert.NotNull(testcaching2); Assert.Equal(result1.Count, result1.Count); } diff --git a/FreeSql.Tests/SqlServer/Curd/SqlServerUpdateTest.cs b/FreeSql.Tests/SqlServer/Curd/SqlServerUpdateTest.cs index da798f79..13a8d996 100644 --- a/FreeSql.Tests/SqlServer/Curd/SqlServerUpdateTest.cs +++ b/FreeSql.Tests/SqlServer/Curd/SqlServerUpdateTest.cs @@ -1,11 +1,21 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Collections.Generic; using Xunit; namespace FreeSql.Tests.SqlServer { + [Collection("SqlServerCollection")] public class SqlServerUpdateTest { - IUpdate update => g.sqlserver.Update(); + + SqlServerFixture _sqlserverFixture; + + public SqlServerUpdateTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + + IUpdate update => _sqlserverFixture.SqlServer.Update(); [Table(Name = "tb_topic")] class Topic { @@ -20,11 +30,11 @@ namespace FreeSql.Tests.SqlServer { [Fact] public void Dywhere() { - Assert.Null(g.sqlserver.Update().ToSql()); - Assert.Equal("UPDATE [tb_topic] SET title='test' \r\nWHERE ([Id] = 1 OR [Id] = 2)", g.sqlserver.Update(new[] { 1, 2 }).SetRaw("title='test'").ToSql()); - Assert.Equal("UPDATE [tb_topic] SET title='test1' \r\nWHERE ([Id] = 1)", g.sqlserver.Update(new Topic { Id = 1, Title = "test" }).SetRaw("title='test1'").ToSql()); - Assert.Equal("UPDATE [tb_topic] SET title='test1' \r\nWHERE ([Id] = 1 OR [Id] = 2)", g.sqlserver.Update(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).SetRaw("title='test1'").ToSql()); - Assert.Equal("UPDATE [tb_topic] SET title='test1' \r\nWHERE ([Id] = 1)", g.sqlserver.Update(new { id = 1 }).SetRaw("title='test1'").ToSql()); + Assert.Null(_sqlserverFixture.SqlServer.Update().ToSql()); + Assert.Equal("UPDATE [tb_topic] SET title='test' \r\nWHERE ([Id] = 1 OR [Id] = 2)", _sqlserverFixture.SqlServer.Update(new[] { 1, 2 }).SetRaw("title='test'").ToSql()); + Assert.Equal("UPDATE [tb_topic] SET title='test1' \r\nWHERE ([Id] = 1)", _sqlserverFixture.SqlServer.Update(new Topic { Id = 1, Title = "test" }).SetRaw("title='test1'").ToSql()); + Assert.Equal("UPDATE [tb_topic] SET title='test1' \r\nWHERE ([Id] = 1 OR [Id] = 2)", _sqlserverFixture.SqlServer.Update(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).SetRaw("title='test1'").ToSql()); + Assert.Equal("UPDATE [tb_topic] SET title='test1' \r\nWHERE ([Id] = 1)", _sqlserverFixture.SqlServer.Update(new { id = 1 }).SetRaw("title='test1'").ToSql()); } [Fact] @@ -107,11 +117,11 @@ namespace FreeSql.Tests.SqlServer { [Fact] public void AsTable() { - Assert.Null(g.sqlserver.Update().ToSql()); - Assert.Equal("UPDATE [tb_topicAsTable] SET title='test' \r\nWHERE ([Id] = 1 OR [Id] = 2)", g.sqlserver.Update(new[] { 1, 2 }).SetRaw("title='test'").AsTable(a => "tb_topicAsTable").ToSql()); - Assert.Equal("UPDATE [tb_topicAsTable] SET title='test1' \r\nWHERE ([Id] = 1)", g.sqlserver.Update(new Topic { Id = 1, Title = "test" }).SetRaw("title='test1'").AsTable(a => "tb_topicAsTable").ToSql()); - Assert.Equal("UPDATE [tb_topicAsTable] SET title='test1' \r\nWHERE ([Id] = 1 OR [Id] = 2)", g.sqlserver.Update(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).SetRaw("title='test1'").AsTable(a => "tb_topicAsTable").ToSql()); - Assert.Equal("UPDATE [tb_topicAsTable] SET title='test1' \r\nWHERE ([Id] = 1)", g.sqlserver.Update(new { id = 1 }).SetRaw("title='test1'").AsTable(a => "tb_topicAsTable").ToSql()); + Assert.Null(_sqlserverFixture.SqlServer.Update().ToSql()); + Assert.Equal("UPDATE [tb_topicAsTable] SET title='test' \r\nWHERE ([Id] = 1 OR [Id] = 2)", _sqlserverFixture.SqlServer.Update(new[] { 1, 2 }).SetRaw("title='test'").AsTable(a => "tb_topicAsTable").ToSql()); + Assert.Equal("UPDATE [tb_topicAsTable] SET title='test1' \r\nWHERE ([Id] = 1)", _sqlserverFixture.SqlServer.Update(new Topic { Id = 1, Title = "test" }).SetRaw("title='test1'").AsTable(a => "tb_topicAsTable").ToSql()); + Assert.Equal("UPDATE [tb_topicAsTable] SET title='test1' \r\nWHERE ([Id] = 1 OR [Id] = 2)", _sqlserverFixture.SqlServer.Update(new[] { new Topic { Id = 1, Title = "test" }, new Topic { Id = 2, Title = "test" } }).SetRaw("title='test1'").AsTable(a => "tb_topicAsTable").ToSql()); + Assert.Equal("UPDATE [tb_topicAsTable] SET title='test1' \r\nWHERE ([Id] = 1)", _sqlserverFixture.SqlServer.Update(new { id = 1 }).SetRaw("title='test1'").AsTable(a => "tb_topicAsTable").ToSql()); } } } diff --git a/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs b/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs index 9b0bed49..4bed9553 100644 --- a/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs +++ b/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs @@ -1,17 +1,27 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using Xunit; namespace FreeSql.Tests.SqlServer { - public class SqlServerAdoTest { + [Collection("SqlServerCollection")] + public class SqlServerAdoTest + { + SqlServerFixture _sqlserverFixture; + + public SqlServerAdoTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + [Fact] public void Pool() { - var t1 = g.sqlserver.Ado.MasterPool.StatisticsFullily; + var t1 = _sqlserverFixture.SqlServer.Ado.MasterPool.StatisticsFullily; } [Fact] public void SlavePools() { - var t2 = g.sqlserver.Ado.SlavePools.Count; + var t2 = _sqlserverFixture.SqlServer.Ado.SlavePools.Count; } [Fact] @@ -34,33 +44,33 @@ namespace FreeSql.Tests.SqlServer { [Fact] public void Query() { - //var tt1 = g.sqlserver.Select() + //var tt1 = _sqlserverFixture.SqlServer.Select() // .LeftJoin(a => a.ParentId == a.Parent.Id) // .ToSql(a => new { a.Id, a.Title }); - //var tt2result = g.sqlserver.Select() + //var tt2result = _sqlserverFixture.SqlServer.Select() // .LeftJoin(a => a.ParentId == a.Parent.Id) // .ToList(a => new { a.Id, a.Title }); - //var tt = g.sqlserver.Select() + //var tt = _sqlserverFixture.SqlServer.Select() // .LeftJoin((a, b) => b.Id == a.Id) // .ToSql(a => new { a.Id, a.Title }); - //var ttresult = g.sqlserver.Select() + //var ttresult = _sqlserverFixture.SqlServer.Select() // .LeftJoin((a, b) => b.Id == a.Id) // .ToList(a => new { a.Id, a.Title }); - var tnsql1 = g.sqlserver.Select().Where(a => a.Id > 0).Where(b => b.Title != null).Page(1, 3).ToSql(a => a.Id); - var tnsql2 = g.sqlserver.Select().Where(a => a.Id > 0).Where(b => b.Title != null).Page(2, 3).ToSql(a => a.Id); + var tnsql1 = _sqlserverFixture.SqlServer.Select().Where(a => a.Id > 0).Where(b => b.Title != null).Page(1, 3).ToSql(a => a.Id); + var tnsql2 = _sqlserverFixture.SqlServer.Select().Where(a => a.Id > 0).Where(b => b.Title != null).Page(2, 3).ToSql(a => a.Id); - var tn1 = g.sqlserver.Select().Where(a => a.Id > 0).Where(b => b.Title != null).Page(1, 3).ToList(a => a.Id); - var tn2 = g.sqlserver.Select().Where(a => a.Id > 0).Where(b => b.Title != null).Page(2, 3).ToList(a => a.Id); + var tn1 = _sqlserverFixture.SqlServer.Select().Where(a => a.Id > 0).Where(b => b.Title != null).Page(1, 3).ToList(a => a.Id); + var tn2 = _sqlserverFixture.SqlServer.Select().Where(a => a.Id > 0).Where(b => b.Title != null).Page(2, 3).ToList(a => a.Id); - var t3 = g.sqlserver.Ado.Query("select * from song"); + var t3 = _sqlserverFixture.SqlServer.Ado.Query("select * from song"); - var t4 = g.sqlserver.Ado.Query<(int, string, string, DateTime)>("select * from song"); + var t4 = _sqlserverFixture.SqlServer.Ado.Query<(int, string, string, DateTime)>("select * from song"); - var t5 = g.sqlserver.Ado.Query(System.Data.CommandType.Text, "select * from song where Id = @Id", + var t5 = _sqlserverFixture.SqlServer.Ado.Query(System.Data.CommandType.Text, "select * from song where Id = @Id", new System.Data.SqlClient.SqlParameter("Id", 1)); } diff --git a/FreeSql.Tests/SqlServer/SqlServerCodeFirstTest.cs b/FreeSql.Tests/SqlServer/SqlServerCodeFirstTest.cs index 023796c5..b4a02f0a 100644 --- a/FreeSql.Tests/SqlServer/SqlServerCodeFirstTest.cs +++ b/FreeSql.Tests/SqlServer/SqlServerCodeFirstTest.cs @@ -1,4 +1,5 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -7,13 +8,22 @@ using System.Text; using Xunit; namespace FreeSql.Tests.SqlServer { + + [Collection("SqlServerCollection")] public class SqlServerCodeFirstTest { + SqlServerFixture _sqlserverFixture; + + public SqlServerCodeFirstTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + [Fact] public void AddField() { - var sql = g.sqlserver.CodeFirst.GetComparisonDDLStatements(); + var sql = _sqlserverFixture.SqlServer.CodeFirst.GetComparisonDDLStatements(); - var id = g.sqlserver.Insert().AppendData(new TopicAddField { }).ExecuteIdentity(); + var id = _sqlserverFixture.SqlServer.Insert().AppendData(new TopicAddField { }).ExecuteIdentity(); } [Table(Name = "dbo2.TopicAddField", OldName = "tedb1.dbo.TopicAddField")] @@ -39,13 +49,13 @@ namespace FreeSql.Tests.SqlServer { [Fact] public void GetComparisonDDLStatements() { - var sql = g.sqlserver.CodeFirst.GetComparisonDDLStatements(); + var sql = _sqlserverFixture.SqlServer.CodeFirst.GetComparisonDDLStatements(); - sql = g.sqlserver.CodeFirst.GetComparisonDDLStatements(); + sql = _sqlserverFixture.SqlServer.CodeFirst.GetComparisonDDLStatements(); } - IInsert insert => g.sqlserver.Insert(); - ISelect select => g.sqlserver.Select(); + IInsert insert => _sqlserverFixture.SqlServer.Insert(); + ISelect select => _sqlserverFixture.SqlServer.Select(); [Fact] public void CurdAllField() { diff --git a/FreeSql.Tests/SqlServer/SqlServerDbFirstTest.cs b/FreeSql.Tests/SqlServer/SqlServerDbFirstTest.cs index 3887afe7..3cb2de5c 100644 --- a/FreeSql.Tests/SqlServer/SqlServerDbFirstTest.cs +++ b/FreeSql.Tests/SqlServer/SqlServerDbFirstTest.cs @@ -1,20 +1,30 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using Xunit; namespace FreeSql.Tests.SqlServer { + [Collection("SqlServerCollection")] public class SqlServerDbFirstTest { + + SqlServerFixture _sqlserverFixture; + + public SqlServerDbFirstTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + [Fact] public void GetDatabases() { - var t1 = g.sqlserver.DbFirst.GetDatabases(); + var t1 = _sqlserverFixture.SqlServer.DbFirst.GetDatabases(); } [Fact] public void GetTablesByDatabase() { - var t2 = g.sqlserver.DbFirst.GetTablesByDatabase(g.sqlserver.DbFirst.GetDatabases()[0]); + var t2 = _sqlserverFixture.SqlServer.DbFirst.GetTablesByDatabase(_sqlserverFixture.SqlServer.DbFirst.GetDatabases()[0]); } } diff --git a/FreeSql.Tests/SqlServer/SqlServerExpression/ConvertTest.cs b/FreeSql.Tests/SqlServer/SqlServerExpression/ConvertTest.cs index e6da504f..3abbc2f5 100644 --- a/FreeSql.Tests/SqlServer/SqlServerExpression/ConvertTest.cs +++ b/FreeSql.Tests/SqlServer/SqlServerExpression/ConvertTest.cs @@ -1,13 +1,22 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Collections.Generic; using System.Linq; using Xunit; namespace FreeSql.Tests.SqlServerExpression { + [Collection("SqlServerCollection")] public class ConvertTest { - ISelect select => g.mysql.Select(); + SqlServerFixture _sqlserverFixture; + + public ConvertTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + + ISelect select => _sqlserverFixture.SqlServer.Select(); [Table(Name = "tb_topic")] class Topic { diff --git a/FreeSql.Tests/SqlServer/SqlServerExpression/DateTimeTest.cs b/FreeSql.Tests/SqlServer/SqlServerExpression/DateTimeTest.cs index a4b1fa95..79f05449 100644 --- a/FreeSql.Tests/SqlServer/SqlServerExpression/DateTimeTest.cs +++ b/FreeSql.Tests/SqlServer/SqlServerExpression/DateTimeTest.cs @@ -1,13 +1,22 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Collections.Generic; using System.Linq; using Xunit; namespace FreeSql.Tests.SqlServerExpression { - public class DateTimeTest { + [Collection("SqlServerCollection")] + public class DateTimeTest + { + SqlServerFixture _sqlserverFixture; - ISelect select => g.sqlserver.Select(); + public DateTimeTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + + ISelect select => _sqlserverFixture.SqlServer.Select(); [Table(Name = "tb_topic111333")] class Topic { diff --git a/FreeSql.Tests/SqlServer/SqlServerExpression/MathTest.cs b/FreeSql.Tests/SqlServer/SqlServerExpression/MathTest.cs index d4534889..6613dfe9 100644 --- a/FreeSql.Tests/SqlServer/SqlServerExpression/MathTest.cs +++ b/FreeSql.Tests/SqlServer/SqlServerExpression/MathTest.cs @@ -1,13 +1,22 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Collections.Generic; using System.Linq; using Xunit; namespace FreeSql.Tests.SqlServerExpression { - public class MathTest { + [Collection("SqlServerCollection")] + public class MathTest + { + SqlServerFixture _sqlserverFixture; - ISelect select => g.sqlserver.Select(); + public MathTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + + ISelect select => _sqlserverFixture.SqlServer.Select(); [Table(Name = "tb_topic")] class Topic { diff --git a/FreeSql.Tests/SqlServer/SqlServerExpression/OtherTest.cs b/FreeSql.Tests/SqlServer/SqlServerExpression/OtherTest.cs index edbbfd6b..9569273a 100644 --- a/FreeSql.Tests/SqlServer/SqlServerExpression/OtherTest.cs +++ b/FreeSql.Tests/SqlServer/SqlServerExpression/OtherTest.cs @@ -1,16 +1,21 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Linq; using Xunit; namespace FreeSql.Tests.SqlServerExpression { + [Collection("SqlServerCollection")] public class OtherTest { - ISelect select => g.sqlserver.Select(); + SqlServerFixture _sqlserverFixture; - public OtherTest() { + public OtherTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; } + ISelect select => _sqlserverFixture.SqlServer.Select(); [Fact] public void Array() { diff --git a/FreeSql.Tests/SqlServer/SqlServerExpression/StringTest.cs b/FreeSql.Tests/SqlServer/SqlServerExpression/StringTest.cs index f7a5a1fc..50f5c621 100644 --- a/FreeSql.Tests/SqlServer/SqlServerExpression/StringTest.cs +++ b/FreeSql.Tests/SqlServer/SqlServerExpression/StringTest.cs @@ -1,13 +1,22 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Collections.Generic; using System.Linq; using Xunit; namespace FreeSql.Tests.SqlServerExpression { + [Collection("SqlServerCollection")] public class StringTest { - ISelect select => g.sqlserver.Select(); + SqlServerFixture _sqlserverFixture; + + public StringTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + + ISelect select => _sqlserverFixture.SqlServer.Select(); [Table(Name = "tb_topic")] class Topic { diff --git a/FreeSql.Tests/SqlServer/SqlServerExpression/TimeSpanTest.cs b/FreeSql.Tests/SqlServer/SqlServerExpression/TimeSpanTest.cs index ac99e48b..e9bff692 100644 --- a/FreeSql.Tests/SqlServer/SqlServerExpression/TimeSpanTest.cs +++ b/FreeSql.Tests/SqlServer/SqlServerExpression/TimeSpanTest.cs @@ -1,13 +1,22 @@ using FreeSql.DataAnnotations; +using FreeSql.Tests.DataContext.SqlServer; using System; using System.Collections.Generic; using System.Linq; using Xunit; namespace FreeSql.Tests.SqlServerExpression { + [Collection("SqlServerCollection")] public class TimeSpanTest { - ISelect select => g.sqlserver.Select(); + SqlServerFixture _sqlserverFixture; + + public TimeSpanTest(SqlServerFixture sqlserverFixture) + { + _sqlserverFixture = sqlserverFixture; + } + + ISelect select => _sqlserverFixture.SqlServer.Select(); [Table(Name = "tb_topic")] class Topic { diff --git a/FreeSql.Tests/g.cs b/FreeSql.Tests/g.cs index c008dda1..dc7593ee 100644 --- a/FreeSql.Tests/g.cs +++ b/FreeSql.Tests/g.cs @@ -20,13 +20,6 @@ public class g { .Build()); public static IFreeSql mysql => mysqlLazy.Value; - static Lazy sqlserverLazy = new Lazy(() => new FreeSql.FreeSqlBuilder() - .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=cms;Pooling=true;Max Pool Size=10") - .UseAutoSyncStructure(true) - .UseLazyLoading(true) - .Build()); - public static IFreeSql sqlserver => sqlserverLazy.Value; - static Lazy pgsqlLazy = new Lazy(() => new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=10") .UseAutoSyncStructure(true)