diff --git a/AdoNetApiTest.sln b/AdoNetApiTest.sln index b0b9090..419caa2 100644 --- a/AdoNetApiTest.sln +++ b/AdoNetApiTest.sln @@ -51,6 +51,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MicrosoftSqlite7.Tests", "t EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Npgsql7.Tests", "tests\Npgsql7.Tests\Npgsql7.Tests.csproj", "{2DEADF63-7268-41E8-BFB5-F28DD8F9AEAC}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MicrosoftSqlite8.Tests", "tests\MicrosoftSqlite8.Tests\MicrosoftSqlite8.Tests.csproj", "{FA8BDF08-7841-4F8D-9085-D1EFC2A46A7E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -153,6 +155,10 @@ Global {2DEADF63-7268-41E8-BFB5-F28DD8F9AEAC}.Debug|Any CPU.Build.0 = Debug|Any CPU {2DEADF63-7268-41E8-BFB5-F28DD8F9AEAC}.Release|Any CPU.ActiveCfg = Release|Any CPU {2DEADF63-7268-41E8-BFB5-F28DD8F9AEAC}.Release|Any CPU.Build.0 = Release|Any CPU + {FA8BDF08-7841-4F8D-9085-D1EFC2A46A7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FA8BDF08-7841-4F8D-9085-D1EFC2A46A7E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FA8BDF08-7841-4F8D-9085-D1EFC2A46A7E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FA8BDF08-7841-4F8D-9085-D1EFC2A46A7E}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 322637a..90ce683 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -172,6 +172,13 @@ jobs: publishTestResults: false arguments: '--logger "trx;LogFileName=$(Build.ArtifactStagingDirectory)/MicrosoftSqlite7.Tests.trx"' continueOnError: true + - task: DotNetCoreCLI@2 + inputs: + command: 'test' + workingDirectory: tests/MicrosoftSqlite8.Tests + publishTestResults: false + arguments: '--logger "trx;LogFileName=$(Build.ArtifactStagingDirectory)/MicrosoftSqlite8.Tests.trx"' + continueOnError: true - task: DotNetCoreCLI@2 inputs: command: 'test' diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8.Tests.csproj b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8.Tests.csproj new file mode 100644 index 0000000..f369ffb --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8.Tests.csproj @@ -0,0 +1,16 @@ + + + + net8.0 + + + + + + + + + + + + diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8CommandTests.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8CommandTests.cs new file mode 100644 index 0000000..30f07b0 --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8CommandTests.cs @@ -0,0 +1,8 @@ +using AdoNet.Specification.Tests; + +namespace MicrosoftSqlite8.Tests; + +public sealed class MicrosoftSqlite8CommandTests(MicrosoftSqlite8DbFactoryFixture fixture) + : CommandTestBase(fixture) +{ +} diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8ConnectionStringBuilderTests.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8ConnectionStringBuilderTests.cs new file mode 100644 index 0000000..8fddf2a --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8ConnectionStringBuilderTests.cs @@ -0,0 +1,9 @@ +using AdoNet.Specification.Tests; + +namespace MicrosoftSqlite8.Tests; + +public sealed class MicrosoftSqlite8ConnectionStringBuilderTests(MicrosoftSqlite8DbFactoryFixture fixture) + : ConnectionStringTestBase(fixture) +{ +} + diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8ConnectionTests.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8ConnectionTests.cs new file mode 100644 index 0000000..2139656 --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8ConnectionTests.cs @@ -0,0 +1,8 @@ +using AdoNet.Specification.Tests; + +namespace MicrosoftSqlite8.Tests; + +public sealed class MicrosoftSqlite8ConnectionTests(MicrosoftSqlite8DbFactoryFixture fixture) + : ConnectionTestBase(fixture) +{ +} diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8DataReaderTests.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8DataReaderTests.cs new file mode 100644 index 0000000..3b50c70 --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8DataReaderTests.cs @@ -0,0 +1,8 @@ +using AdoNet.Specification.Tests; + +namespace MicrosoftSqlite8.Tests; + +public sealed class MicrosoftSqlite8DataReaderTests(MicrosoftSqlite8SelectValueFixture fixture) + : DataReaderTestBase(fixture) +{ +} diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8DbFactoryFixture.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8DbFactoryFixture.cs new file mode 100644 index 0000000..1066b3a --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8DbFactoryFixture.cs @@ -0,0 +1,11 @@ +using System.Data.Common; +using AdoNet.Specification.Tests; +using Microsoft.Data.Sqlite; + +namespace MicrosoftSqlite8.Tests; + +public class MicrosoftSqlite8DbFactoryFixture : IDbFactoryFixture +{ + public DbProviderFactory Factory => SqliteFactory.Instance; + public string ConnectionString => "data source=temp.db"; +} diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8DbProviderFactoryTests.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8DbProviderFactoryTests.cs new file mode 100644 index 0000000..fc16aca --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8DbProviderFactoryTests.cs @@ -0,0 +1,8 @@ +using AdoNet.Specification.Tests; + +namespace MicrosoftSqlite8.Tests; + +public sealed class MicrosoftSqlite8DbProviderFactoryTests(MicrosoftSqlite8DbFactoryFixture fixture) + : DbProviderFactoryTestBase(fixture) +{ +} diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8GetValueConversionTests.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8GetValueConversionTests.cs new file mode 100644 index 0000000..4ec7b69 --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8GetValueConversionTests.cs @@ -0,0 +1,8 @@ +using AdoNet.Specification.Tests; + +namespace MicrosoftSqlite8.Tests; + +public class MicrosoftSqlite8GetValueConversionTests(MicrosoftSqlite8SelectValueFixture fixture) + : GetValueConversionTestBase(fixture) +{ +} diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8ParameterTests.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8ParameterTests.cs new file mode 100644 index 0000000..99a6af0 --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8ParameterTests.cs @@ -0,0 +1,8 @@ +using AdoNet.Specification.Tests; + +namespace MicrosoftSqlite8.Tests; + +public sealed class MicrosoftSqlite8ParameterTests(MicrosoftSqlite8DbFactoryFixture fixture) + : ParameterTestBase(fixture) +{ +} diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8SelectValueFixture.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8SelectValueFixture.cs new file mode 100644 index 0000000..489f510 --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8SelectValueFixture.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Data; +using AdoNet.Databases; +using AdoNet.Specification.Tests; + +namespace MicrosoftSqlite8.Tests; + +public class MicrosoftSqlite8SelectValueFixture : MicrosoftSqlite8DbFactoryFixture, ISelectValueFixture, IDeleteFixture, IDisposable +{ + public MicrosoftSqlite8SelectValueFixture() => SqliteDatabase.CreateSelectValueTable(this); + public void Dispose() => SqliteDatabase.DropSelectValueTable(this); + public string CreateSelectSql(DbType dbType, ValueKind kind) => SqliteDatabase.CreateSelectSql(dbType, kind); + public string CreateSelectSql(byte[] value) => SqliteDatabase.CreateSelectSql(value); + public string SelectNoRows => SqliteDatabase.SelectNoRows; + public IReadOnlyCollection SupportedDbTypes => SqliteDatabase.SupportedDbTypes; + public Type NullValueExceptionType => SqliteDatabase.NullValueExceptionType; + public string DeleteNoRows => SqliteDatabase.DeleteNoRows; +} diff --git a/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8TransactionTests.cs b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8TransactionTests.cs new file mode 100644 index 0000000..305acfc --- /dev/null +++ b/tests/MicrosoftSqlite8.Tests/MicrosoftSqlite8TransactionTests.cs @@ -0,0 +1,8 @@ +using AdoNet.Specification.Tests; + +namespace MicrosoftSqlite8.Tests; + +public sealed class MicrosoftSqlite8TransactionTests(MicrosoftSqlite8DbFactoryFixture fixture) + : TransactionTestBase(fixture) +{ +}