From ba0489c30cfc3d6a05f0d3f5736e4fc23feb5170 Mon Sep 17 00:00:00 2001 From: Adrian Hall Date: Mon, 16 Feb 2026 14:50:15 +0000 Subject: [PATCH 1/2] (#434) Update Automapper to v16.0.0 (.NET 10 compatibility) --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 34c67cd8..5683b68f 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -10,7 +10,7 @@ 8.4.3 - + From 4a35c71387d79a6f3ac712bf5b0ecf1cae68f492 Mon Sep 17 00:00:00 2001 From: Adrian Hall Date: Mon, 16 Feb 2026 15:18:55 +0000 Subject: [PATCH 2/2] (#434) Updates all other packages to .NET 10 compatible packages --- Directory.Packages.props | 7 ++-- ...kit.Datasync.Server.Automapper.Test.csproj | 1 + .../MappedTableRepository_Tests.cs | 40 +++++++++++++++++-- 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 5683b68f..c33147f9 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -17,7 +17,7 @@ - + @@ -31,10 +31,11 @@ - + + - + diff --git a/tests/CommunityToolkit.Datasync.Server.Automapper.Test/CommunityToolkit.Datasync.Server.Automapper.Test.csproj b/tests/CommunityToolkit.Datasync.Server.Automapper.Test/CommunityToolkit.Datasync.Server.Automapper.Test.csproj index f9d81cd2..823acacb 100644 --- a/tests/CommunityToolkit.Datasync.Server.Automapper.Test/CommunityToolkit.Datasync.Server.Automapper.Test.csproj +++ b/tests/CommunityToolkit.Datasync.Server.Automapper.Test/CommunityToolkit.Datasync.Server.Automapper.Test.csproj @@ -17,5 +17,6 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all + diff --git a/tests/CommunityToolkit.Datasync.Server.Automapper.Test/MappedTableRepository_Tests.cs b/tests/CommunityToolkit.Datasync.Server.Automapper.Test/MappedTableRepository_Tests.cs index 1199fe2d..2aa456f5 100644 --- a/tests/CommunityToolkit.Datasync.Server.Automapper.Test/MappedTableRepository_Tests.cs +++ b/tests/CommunityToolkit.Datasync.Server.Automapper.Test/MappedTableRepository_Tests.cs @@ -8,20 +8,33 @@ using CommunityToolkit.Datasync.TestCommon; using CommunityToolkit.Datasync.TestCommon.Databases; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Xunit; using Xunit.Abstractions; namespace CommunityToolkit.Datasync.Server.Automapper.Test; [ExcludeFromCodeCoverage] -public class MappedTableRepository_Tests(ITestOutputHelper output) : RepositoryTests() +public class MappedTableRepository_Tests : RepositoryTests, IDisposable { #region Setup + private readonly ITestOutputHelper output; private readonly Random random = new(); private SqliteDbContext context; private EntityTableRepository innerRepository; - private readonly IMapper mapper = new MapperConfiguration(c => c.AddProfile(new MapperProfile())).CreateMapper(); + private readonly ILoggerFactory loggerFactory; + private readonly IMapper mapper; private MappedTableRepository repository; private List movies; + private bool _disposedValue; + + public MappedTableRepository_Tests(ITestOutputHelper output) + { + this.output = output; + this.loggerFactory = new LoggerFactory([ new XunitLoggerProvider(this.output) ]); + MapperConfiguration config = new(c => c.AddProfile(new MapperProfile()), this.loggerFactory); + this.mapper = config.CreateMapper(); + } protected override Task GetEntityAsync(string id) => Task.FromResult(this.mapper.Map(this.context.Movies.AsNoTracking().SingleOrDefault(m => m.Id == id))); @@ -31,7 +44,7 @@ protected override Task GetEntityCountAsync() protected override Task> GetPopulatedRepositoryAsync() { - this.context = SqliteDbContext.CreateContext(output); + this.context = SqliteDbContext.CreateContext(this.output); this.innerRepository = new EntityTableRepository(this.context); this.repository = new MappedTableRepository(this.mapper, this.innerRepository); this.movies = this.context.Movies.AsNoTracking().ToList().ConvertAll(m => this.mapper.Map(m)); @@ -40,5 +53,26 @@ protected override Task> GetPopulatedRepositoryAsync() protected override Task GetRandomEntityIdAsync(bool exists) => Task.FromResult(exists ? this.movies[this.random.Next(this.movies.Count)].Id : Guid.NewGuid().ToString()); + + protected virtual void Dispose(bool disposing) + { + if (!this._disposedValue) + { + if (disposing) + { + this.context.Dispose(); + this.loggerFactory.Dispose(); + } + + this._disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } #endregion }