From 2eef0b952f1ded2ecc55856d55be8a970753f618 Mon Sep 17 00:00:00 2001 From: Lau Date: Wed, 18 Mar 2020 00:51:22 +0100 Subject: [PATCH] Remove obsolete design tests. --- EntityFrameworkCore.Jet.sln | 15 - .../E2E.accdb | Bin 659456 -> 0 bytes .../EFCore.Jet.Design.FunctionalTests.csproj | 42 --- .../Issue4Test.cs | 81 ----- .../Issue_4.mdb | Bin 352256 -> 0 bytes .../JetDatabaseModelFactoryTest.cs | 296 ------------------ .../JetDatabaseModelFixture.cs | 57 ---- .../JetDatabaseModelIssue4Fixture.cs | 31 -- .../Properties/AssemblyInfo.cs | 4 - .../ScaffoldingTypeMapperJetTest.cs | 170 ---------- .../app.config | 123 -------- 11 files changed, 819 deletions(-) delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/E2E.accdb delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/EFCore.Jet.Design.FunctionalTests.csproj delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/Issue4Test.cs delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/Issue_4.mdb delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelFactoryTest.cs delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelFixture.cs delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelIssue4Fixture.cs delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/Properties/AssemblyInfo.cs delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/ScaffoldingTypeMapperJetTest.cs delete mode 100644 test/EFCore.Jet.Design.FunctionalTest/app.config diff --git a/EntityFrameworkCore.Jet.sln b/EntityFrameworkCore.Jet.sln index b477160..0145ef9 100644 --- a/EntityFrameworkCore.Jet.sln +++ b/EntityFrameworkCore.Jet.sln @@ -31,8 +31,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{B7FF1850-2 docs\README.md = docs\README.md EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EFCore.Jet.Design.FunctionalTests", "test\EFCore.Jet.Design.FunctionalTest\EFCore.Jet.Design.FunctionalTests.csproj", "{543477FB-CF81-446D-AB02-1E41382DED5B}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build help", "build help", "{20B764C9-8664-4609-A743-8CF32BA6CA69}" ProjectSection(SolutionItems) = preProject NuGet.Config = NuGet.Config @@ -119,18 +117,6 @@ Global {3C88D49A-7EF2-42BA-A8D7-9DF7D358FD24}.Release|x64.Build.0 = Release|x64 {3C88D49A-7EF2-42BA-A8D7-9DF7D358FD24}.Release|x86.ActiveCfg = Release|Any CPU {3C88D49A-7EF2-42BA-A8D7-9DF7D358FD24}.Release|x86.Build.0 = Release|Any CPU - {543477FB-CF81-446D-AB02-1E41382DED5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {543477FB-CF81-446D-AB02-1E41382DED5B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {543477FB-CF81-446D-AB02-1E41382DED5B}.Debug|x64.ActiveCfg = Debug|x64 - {543477FB-CF81-446D-AB02-1E41382DED5B}.Debug|x64.Build.0 = Debug|x64 - {543477FB-CF81-446D-AB02-1E41382DED5B}.Debug|x86.ActiveCfg = Debug|x86 - {543477FB-CF81-446D-AB02-1E41382DED5B}.Debug|x86.Build.0 = Debug|x86 - {543477FB-CF81-446D-AB02-1E41382DED5B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {543477FB-CF81-446D-AB02-1E41382DED5B}.Release|Any CPU.Build.0 = Release|Any CPU - {543477FB-CF81-446D-AB02-1E41382DED5B}.Release|x64.ActiveCfg = Release|x64 - {543477FB-CF81-446D-AB02-1E41382DED5B}.Release|x64.Build.0 = Release|x64 - {543477FB-CF81-446D-AB02-1E41382DED5B}.Release|x86.ActiveCfg = Release|Any CPU - {543477FB-CF81-446D-AB02-1E41382DED5B}.Release|x86.Build.0 = Release|Any CPU {770A076B-A448-499C-BB86-A37994C04523}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {770A076B-A448-499C-BB86-A37994C04523}.Debug|Any CPU.Build.0 = Debug|Any CPU {770A076B-A448-499C-BB86-A37994C04523}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -153,7 +139,6 @@ Global {D6966B04-4C38-4925-BCDE-F8655F38D04C} = {F68095EE-6CD1-43A2-B498-6CA72CE2A0CB} {50CA2970-B995-4D28-9F6C-F7CA4940F23A} = {6A8DE399-1804-4113-A408-F23B7F5C9CAC} {3C88D49A-7EF2-42BA-A8D7-9DF7D358FD24} = {6A8DE399-1804-4113-A408-F23B7F5C9CAC} - {543477FB-CF81-446D-AB02-1E41382DED5B} = {6A8DE399-1804-4113-A408-F23B7F5C9CAC} {770A076B-A448-499C-BB86-A37994C04523} = {6A8DE399-1804-4113-A408-F23B7F5C9CAC} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution diff --git a/test/EFCore.Jet.Design.FunctionalTest/E2E.accdb b/test/EFCore.Jet.Design.FunctionalTest/E2E.accdb deleted file mode 100644 index 6f38fc1039ac653d80fc7b1efe431445cf269df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 659456 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

6)+_I)N9J+j3$gZ#{IrJ-kUlpvvjcW!zL05e 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 J9Qx-3{tu@wECv7o diff --git a/test/EFCore.Jet.Design.FunctionalTest/EFCore.Jet.Design.FunctionalTests.csproj b/test/EFCore.Jet.Design.FunctionalTest/EFCore.Jet.Design.FunctionalTests.csproj deleted file mode 100644 index fc810df..0000000 --- a/test/EFCore.Jet.Design.FunctionalTest/EFCore.Jet.Design.FunctionalTests.csproj +++ /dev/null @@ -1,42 +0,0 @@ - - - net461;netcoreapp3.1 - false - false - - AnyCPU;x86;x64 - - - - Always - - - Always - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - \ No newline at end of file diff --git a/test/EFCore.Jet.Design.FunctionalTest/Issue4Test.cs b/test/EFCore.Jet.Design.FunctionalTest/Issue4Test.cs deleted file mode 100644 index 4fee86e..0000000 --- a/test/EFCore.Jet.Design.FunctionalTest/Issue4Test.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.EntityFrameworkCore.Scaffolding.Metadata; -using Xunit; - -namespace EntityFrameworkCore.Jet.Design.FunctionalTests -{ - public class Issue4Test : IClassFixture - { - [Fact] - public void It_reads_tables() - { - var model = ReadModel(); - - Assert.Collection(model.Tables.OrderBy(t => t.Name), - d => - { - Assert.Equal("Jet", d.Schema); - Assert.Equal("tAnsprechpartnertypen", d.Name); - }, - e => - { - Assert.Equal("Jet", e.Schema); - Assert.Equal("tBerichte", e.Name); - }); - } - - - - - [Fact] - public void It_reads_columns() - { - var model = ReadModel(); - - var columns = model.Tables.Single(_ => _.Name == "tAnsprechpartnertypen").Columns; - - Assert.All( - columns, c => - { - Assert.Equal("Jet", c.Table.Schema); - Assert.Equal("tAnsprechpartnertypen", c.Table.Name); - }); - - Assert.Collection( - columns, - c1 => - { - Assert.Equal("Bezeichnung", c1.Name); - Assert.Equal("varchar(255)", c1.StoreType); - Assert.True(c1.IsNullable); - Assert.Null(c1.DefaultValueSql); - }, - c2 => - { - Assert.Equal("Code", c2.Name); - Assert.Equal("byte", c2.StoreType); - Assert.True(c2.IsNullable); - Assert.Equal("0", c2.DefaultValueSql); - }); - } - - - - - - private readonly JetDatabaseModelFixture _fixture; - - public DatabaseModel ReadModel(IEnumerable tables = null) - => _fixture.ReadModel(tables); - - - public Issue4Test(JetDatabaseModelIssue4Fixture fixture) - { - _fixture = fixture; - } - - - } -} diff --git a/test/EFCore.Jet.Design.FunctionalTest/Issue_4.mdb b/test/EFCore.Jet.Design.FunctionalTest/Issue_4.mdb deleted file mode 100644 index d165442213c7e6e9028de31d2aa612c0aa15a7e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352256 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 diff --git a/test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelFactoryTest.cs b/test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelFactoryTest.cs deleted file mode 100644 index 5f1b7e4..0000000 --- a/test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelFactoryTest.cs +++ /dev/null @@ -1,296 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Scaffolding.Metadata; -using Xunit; - -namespace EntityFrameworkCore.Jet.Design.FunctionalTests -{ - public class JetDatabaseModelFactoryTest : IClassFixture - { - [Fact] - public void It_reads_tables() - { - var sql = new List - { - "CREATE TABLE [Everest] ( id int );", - "CREATE TABLE [Denali] ( id int );" - }; - var dbInfo = CreateModel(sql, new List { "Everest", "Denali" }); - - Assert.Collection(dbInfo.Tables.OrderBy(t => t.Name), - d => - { - Assert.Equal("Jet", d.Schema); - Assert.Equal("Denali", d.Name); - }, - e => - { - Assert.Equal("Jet", e.Schema); - Assert.Equal("Everest", e.Name); - }); - } - - [Fact] - public void It_reads_foreign_keys() - { - var sql = new List { - "CREATE TABLE Ranges ( Id INT IDENTITY (1,1) PRIMARY KEY);", - "CREATE TABLE Mountains ( RangeId INT NOT NULL, FOREIGN KEY (RangeId) REFERENCES Ranges(Id) ON DELETE CASCADE)" - }; - var dbInfo = CreateModel(sql, new List { "Ranges", "Mountains" }); - - var fk = Assert.Single(dbInfo.Tables.Single(t => t.ForeignKeys.Count > 0).ForeignKeys); - - Assert.Equal("Jet", fk.Table.Schema); - Assert.Equal("Mountains", fk.Table.Name); - Assert.Equal("Jet", fk.PrincipalTable.Schema); - Assert.Equal("Ranges", fk.PrincipalTable.Name); - Assert.Equal("RangeId", fk.Columns.Single().Name); - Assert.Equal("Id", fk.PrincipalColumns.Single().Name); - Assert.Equal(ReferentialAction.Cascade, fk.OnDelete); - } - - [Fact] - public void It_reads_composite_foreign_keys() - { - var sql = new List { - "CREATE TABLE Ranges1 ( Id INT IDENTITY (1,1), AltId INT, PRIMARY KEY(Id, AltId));", - "CREATE TABLE Mountains1 ( RangeId INT NOT NULL, RangeAltId INT NOT NULL, FOREIGN KEY (RangeId, RangeAltId) REFERENCES Ranges1(Id, AltId) ON DELETE NO ACTION)" - }; - var dbInfo = CreateModel(sql, new List { "Ranges1", "Mountains1" }); - - var fk = Assert.Single(dbInfo.Tables.Single(t => t.ForeignKeys.Count > 0).ForeignKeys); - - Assert.Equal("Jet", fk.Table.Schema); - Assert.Equal("Mountains1", fk.Table.Name); - Assert.Equal("Jet", fk.PrincipalTable.Schema); - Assert.Equal("Ranges1", fk.PrincipalTable.Name); - Assert.Equal(new[] { "RangeId", "RangeAltId" }, fk.Columns.Select(c => c.Name).ToArray()); - Assert.Equal(new[] { "Id", "AltId" }, fk.PrincipalColumns.Select(c => c.Name).ToArray()); - Assert.Equal(ReferentialAction.NoAction, fk.OnDelete); - } - - [Fact] - public void It_reads_primary_keys() - { - var sql = new List - { - "CREATE TABLE Place1 ( Id int, Name int, Location int);", - "CREATE UNIQUE INDEX IX_Name ON Place1 (Name);", - "CREATE INDEX IX_Location_Name ON Place1 (Location, Name);", - "CREATE INDEX IX_Location ON Place1 (Location);", - "ALTER TABLE Place1 ADD CONSTRAINT PK_Place1 PRIMARY KEY (Id);" - }; - var dbModel = CreateModel(sql, new List { "Place1" }); - - var pkIndex = dbModel.Tables.Single().PrimaryKey; - - Assert.Equal("Jet", pkIndex.Table.Schema); - Assert.Equal("Place1", pkIndex.Table.Name); - Assert.StartsWith("PK_Place1", pkIndex.Name); - Assert.Equal(new List { "Id" }, pkIndex.Columns.Select(ic => ic.Name).ToList()); - } - - [Fact] - public void It_reads_unique_constraints() - { - var sql = new List - { - "CREATE TABLE Place2 ( Id int PRIMARY KEY, Name int, Location int );", - "CREATE UNIQUE INDEX IX_Name ON Place2 (Name);", - "CREATE INDEX IX_Location ON Place2 (Location);" - }; - var dbModel = CreateModel(sql, new List { "Place2" }); - - var indexes = dbModel.Tables.Single().UniqueConstraints; - - Assert.All( - indexes, c => - { - Assert.Equal("Jet", c.Table.Schema); - Assert.Equal("Place2", c.Table.Name); - }); - - Assert.Collection( - indexes, - unique => - { - Assert.Equal("Name", unique.Columns.Single().Name); - }); - } - - [Fact] - public void It_reads_indexes() - { - var sql = new List - { - "CREATE TABLE Place ( Id int PRIMARY KEY, Name int, Location int );", - "CREATE UNIQUE INDEX IX_Name ON Place (Name);", - "CREATE INDEX IX_Location ON Place (Location);" - }; - var dbInfo = CreateModel(sql, new List { "Place" }); - - var indexes = dbInfo.Tables.Single().Indexes; - - Assert.All(indexes, c => - { - Assert.Equal("Jet", c.Table.Schema); - Assert.Equal("Place", c.Table.Name); - }); - - Assert.Collection(indexes, - nonClustered => - { - Assert.Equal("IX_Location", nonClustered.Name); - Assert.Equal("Location", nonClustered.Columns.Select(c => c.Name).Single()); - }); - } - - [Fact] - public void It_reads_columns() - { - var sql = @" -CREATE TABLE [MountainsColumns] ( - Id int NOT NULL, - Name varchar(100) NOT NULL, - Latitude decimal( 5, 2 ) DEFAULT 0.0, - Created datetime DEFAULT #09/15/1969#, - DiscoveredDate datetime, - Modified varbinary(8), - CONSTRAINT PK_MountainsColumns PRIMARY KEY (Name, Id) -);"; - var dbModel = CreateModel(new List{ sql }, new List { "MountainsColumns" }); - - var columns = dbModel.Tables.Single().Columns; - - Assert.All( - columns, c => - { - Assert.Equal("Jet", c.Table.Schema); - Assert.Equal("MountainsColumns", c.Table.Name); - }); - - Assert.Collection( - columns, - id => - { - Assert.Equal("Id", id.Name); - Assert.Equal("int", id.StoreType); - Assert.False(id.IsNullable); - Assert.Null(id.DefaultValueSql); - }, - name => - { - Assert.Equal("Name", name.Name); - Assert.Equal("varchar(100)", name.StoreType); - Assert.False(name.IsNullable); - Assert.Null(name.DefaultValueSql); - }, - lat => - { - Assert.Equal("Latitude", lat.Name); - Assert.Equal("decimal(5, 2)", lat.StoreType); - Assert.True(lat.IsNullable); - Assert.Equal("0.0", lat.DefaultValueSql); - }, - created => - { - Assert.Equal("Created", created.Name); - Assert.Equal("datetime", created.StoreType); - Assert.True(created.IsNullable); - Assert.Equal("#09/15/1969#", created.DefaultValueSql); - }, - discovered => - { - Assert.Equal("DiscoveredDate", discovered.Name); - Assert.Equal("datetime", discovered.StoreType); - Assert.True(discovered.IsNullable); - Assert.Null(discovered.DefaultValueSql); - - }, - modified => - { - Assert.Equal("Modified", modified.Name); - // This is a rowversion test. Rowversion is not supported by JET - //Assert.Equal(ValueGenerated.OnAddOrUpdate, modified.ValueGenerated); - Assert.Equal("varbinary(8)", modified.StoreType); - }); - } - - [Theory] - [InlineData("varchar(55)", 55)] - [InlineData("char(14)", 14)] - [InlineData("text", null)] - public void It_reads_max_length(string type, int? length) - { - var tables = _fixture.Query("SHOW Tables WHERE Name = 'Strings'"); - if (tables.Count() > 0) - { - _fixture.ExecuteNonQuery("DROP TABLE [Strings];"); - } - - var sql = new List - { - "CREATE TABLE [Strings] ( CharColumn " + type + ");" - }; - var db = CreateModel(sql, new List { "Strings" }); - - Assert.Equal(type, db.Tables.Single().Columns.Single().StoreType); - } - - [Theory] - [InlineData(true)] - [InlineData(false)] - public void It_reads_identity(bool isIdentity) - { - var tables = _fixture.Query("SHOW Tables WHERE Name = 'Identities'"); - if (tables.Count() > 0) - { - _fixture.ExecuteNonQuery("DROP TABLE [Identities];"); - } - - var sql = new List - { - "CREATE TABLE [Identities] ( Id INT " + (isIdentity ? "IDENTITY(1,1)" : "") + ")" - }; - - var dbModel = CreateModel(sql, new List { "Identities" }); - - var column = Assert.Single(dbModel.Tables.Single().Columns); - // ReSharper disable once AssignNullToNotNullAttribute - Assert.Equal(isIdentity ? ValueGenerated.OnAdd : default(ValueGenerated?), column.ValueGenerated); - } - - [Fact] - public void It_filters_tables() - { - var sql = new List - { - "CREATE TABLE [K2] ( Id int, A varchar, UNIQUE (A) );", - "CREATE TABLE [Kilimanjaro] ( Id int,B varchar, UNIQUE (B ), FOREIGN KEY (B) REFERENCES K2 (A) );" - }; - var selectionSet = new List { "K2" }; - - var dbModel = CreateModel(sql, selectionSet); - var table = Assert.Single(dbModel.Tables); - // ReSharper disable once PossibleNullReferenceException - Assert.Equal("K2", table.Name); - Assert.Equal(2, table.Columns.Count); - Assert.Equal(1, table.UniqueConstraints.Count); - Assert.Empty(table.ForeignKeys); - } - - private readonly JetDatabaseModelFixture _fixture; - - public DatabaseModel CreateModel(List createSql, IEnumerable tables = null) - => _fixture.CreateModel(createSql, tables); - - public JetDatabaseModelFactoryTest(JetDatabaseModelFixture fixture) - { - _fixture = fixture; - } - } -} diff --git a/test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelFixture.cs b/test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelFixture.cs deleted file mode 100644 index 2227186..0000000 --- a/test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelFixture.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using EntityFramework.Jet.FunctionalTests; -using EntityFrameworkCore.Jet.Scaffolding.Internal; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Internal; -using Microsoft.EntityFrameworkCore.Scaffolding.Metadata; -using Microsoft.EntityFrameworkCore.TestUtilities; -using Microsoft.Extensions.Logging; - -namespace EntityFrameworkCore.Jet.Design.FunctionalTests -{ - public class JetDatabaseModelFixture : IDisposable - { - private JetTestStore _TestStore; - - public TestDesignLoggerFactory TestDesignLoggerFactory { get; } = new TestDesignLoggerFactory(); - - public DatabaseModel CreateModel(List createSql, IEnumerable tables = null, ILogger logger = null) - { - foreach (var sql in createSql) - { - TestStore.ExecuteNonQuery(sql); - } - - return ReadModel(tables); - } - - public DatabaseModel ReadModel(IEnumerable tables = null) - { - return new JetDatabaseModelFactory( - new DiagnosticsLogger( - TestDesignLoggerFactory, - new LoggingOptions(), - new DiagnosticListener("Fake"))) - .Create(TestStore.ConnectionString, tables ?? Enumerable.Empty(), Enumerable.Empty()); - } - - public IEnumerable Query(string sql, params object[] parameters) => TestStore.Query(sql, parameters); - - public virtual JetTestStore TestStore - { - get - { - if (_TestStore == null) - _TestStore = JetTestStore.CreateScratch(true); - return _TestStore; - } - } - - public void ExecuteNonQuery(string sql) => TestStore.ExecuteNonQuery(sql); - - public void Dispose() => TestStore.Dispose(); - } -} \ No newline at end of file diff --git a/test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelIssue4Fixture.cs b/test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelIssue4Fixture.cs deleted file mode 100644 index 332d261..0000000 --- a/test/EFCore.Jet.Design.FunctionalTest/JetDatabaseModelIssue4Fixture.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using EntityFramework.Jet.FunctionalTests; -using EntityFrameworkCore.Jet.Scaffolding.Internal; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Internal; -using Microsoft.EntityFrameworkCore.Scaffolding.Metadata; -using Microsoft.EntityFrameworkCore.TestUtilities; -using Microsoft.Extensions.Logging; - -namespace EntityFrameworkCore.Jet.Design.FunctionalTests -{ - public class JetDatabaseModelIssue4Fixture : JetDatabaseModelFixture - { - - private JetTestStore _TestStore; - - - public override JetTestStore TestStore - { - get - { - if (_TestStore == null) - _TestStore = JetTestStore.Create("Issue_4.mdb"); - return _TestStore; - } - } - } -} \ No newline at end of file diff --git a/test/EFCore.Jet.Design.FunctionalTest/Properties/AssemblyInfo.cs b/test/EFCore.Jet.Design.FunctionalTest/Properties/AssemblyInfo.cs deleted file mode 100644 index e30d64b..0000000 --- a/test/EFCore.Jet.Design.FunctionalTest/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,4 +0,0 @@ -using System.Reflection; - -[assembly: AssemblyTitle("EntityFrameworkCore.Jet.Design.FunctionalTests")] -[assembly: AssemblyDescription("Design functional (integration) tests for Jet Entity framework core provider. These tests are original EF Core provider tests")] \ No newline at end of file diff --git a/test/EFCore.Jet.Design.FunctionalTest/ScaffoldingTypeMapperJetTest.cs b/test/EFCore.Jet.Design.FunctionalTest/ScaffoldingTypeMapperJetTest.cs deleted file mode 100644 index 9c025f1..0000000 --- a/test/EFCore.Jet.Design.FunctionalTest/ScaffoldingTypeMapperJetTest.cs +++ /dev/null @@ -1,170 +0,0 @@ -using System; -using EntityFrameworkCore.Jet.Storage.Internal; -using Microsoft.EntityFrameworkCore.Scaffolding.Internal; -using Microsoft.EntityFrameworkCore.Storage; -using Microsoft.EntityFrameworkCore.TestUtilities; -using Xunit; - -namespace EntityFrameworkCore.Jet.Design.FunctionalTests -{ - public class ScaffoldingTypeMapperJetTest - { - [Theory] - [InlineData(false)] - [InlineData(true)] - public void Maps_int_column(bool isKeyOrIndex) - { - var mapping = CreateMapper().FindMapping("int", isKeyOrIndex, rowVersion: false); - - AssertMapping(mapping, inferred: true, maxLength: null, unicode: null); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void Maps_bit_column(bool isKeyOrIndex) - { - var mapping = CreateMapper().FindMapping("bit", isKeyOrIndex, rowVersion: false); - - AssertMapping(mapping, inferred: false, maxLength: null, unicode: null); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void Maps_datetime_column(bool isKeyOrIndex) - { - var mapping = CreateMapper().FindMapping("datetime", isKeyOrIndex, rowVersion: false); - - AssertMapping(mapping, inferred: true, maxLength: null, unicode: null); - } - - [Fact] - public void Maps_normal_varbinary_max_column() - { - var mapping = CreateMapper().FindMapping("image", keyOrIndex: false, rowVersion: false); - - AssertMapping(mapping, inferred: true, maxLength: null, unicode: null); - } - - [Fact] - public void Maps_normal_varbinary_sized_column() - { - var mapping = CreateMapper().FindMapping("varbinary(200)", keyOrIndex: false, rowVersion: false); - - AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null); - } - - [Fact] - public void Maps_normal_binary_max_column() - { - var mapping = CreateMapper().FindMapping("binary(8000)", keyOrIndex: false, rowVersion: false); - - AssertMapping(mapping, inferred: false, maxLength: null, unicode: null); - } - - [Fact] - public void Maps_normal_binary_sized_column() - { - var mapping = CreateMapper().FindMapping("binary(200)", keyOrIndex: false, rowVersion: false); - - AssertMapping(mapping, inferred: false, maxLength: null, unicode: null); - } - - [Fact] - public void Maps_key_varbinary_max_column() - { - var mapping = CreateMapper().FindMapping("image", keyOrIndex: true, rowVersion: false); - - AssertMapping(mapping, inferred: false, maxLength: null, unicode: null); - } - - [Fact] - public void Maps_key_varbinary_sized_column() - { - var mapping = CreateMapper().FindMapping("varbinary(200)", keyOrIndex: true, rowVersion: false); - - AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null); - } - - [Fact] - public void Maps_key_varbinary_default_sized_column() - { - var mapping = CreateMapper().FindMapping("varbinary(510)", keyOrIndex: true, rowVersion: false); - - AssertMapping(mapping, inferred: true, maxLength: null, unicode: null); - } - - [Fact] - public void Maps_key_binary_max_column() - { - var mapping = CreateMapper().FindMapping("image", keyOrIndex: true, rowVersion: false); - - AssertMapping(mapping, inferred: false, maxLength: null, unicode: null); - } - - [Fact] - public void Maps_key_binary_sized_column() - { - var mapping = CreateMapper().FindMapping("binary(200)", keyOrIndex: true, rowVersion: false); - - AssertMapping(mapping, inferred: false, maxLength: null, unicode: null); - } - - [Fact] - public void Maps_key_binary_default_sized_column() - { - var mapping = CreateMapper().FindMapping("binary(512)", keyOrIndex: true, rowVersion: false); - - AssertMapping(mapping, inferred: false, maxLength: null, unicode: null); - } - - - [Fact] - public void Maps_normal_varchar_sized_column() - { - var mapping = CreateMapper().FindMapping("varchar(200)", keyOrIndex: false, rowVersion: false); - - AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null); - } - - [Fact] - public void Maps_key_varchar_max_column() - { - var mapping = CreateMapper().FindMapping("text", keyOrIndex: true, rowVersion: false); - - AssertMapping(mapping, inferred: false, maxLength: null, unicode: null); - } - - [Fact] - public void Maps_key_varchar_sized_column() - { - var mapping = CreateMapper().FindMapping("varchar(200)", keyOrIndex: true, rowVersion: false); - - AssertMapping(mapping, inferred: true, maxLength: 200, unicode: null); - } - - [Fact] - public void Maps_key_varchar_default_sized_column() - { - var mapping = CreateMapper().FindMapping("varchar(255)", keyOrIndex: true, rowVersion: false); - - AssertMapping(mapping, inferred: true, maxLength: null, unicode: null); - } - - private static void AssertMapping(TypeScaffoldingInfo mapping, bool inferred, int? maxLength, bool? unicode) - { - Assert.Same(typeof(T), mapping.ClrType); - Assert.Equal(inferred, mapping.IsInferred); - Assert.Equal(maxLength, mapping.ScaffoldMaxLength); - Assert.Equal(unicode, mapping.ScaffoldUnicode); - } - - private static ScaffoldingTypeMapper CreateMapper() - => new ScaffoldingTypeMapper( - new JetTypeMappingSource( - TestServiceFactory.Instance.Create(), - TestServiceFactory.Instance.Create())); - - } -} \ No newline at end of file diff --git a/test/EFCore.Jet.Design.FunctionalTest/app.config b/test/EFCore.Jet.Design.FunctionalTest/app.config deleted file mode 100644 index 8d3a229..0000000 --- a/test/EFCore.Jet.Design.FunctionalTest/app.config +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file