diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 11e6de0..9473dca 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -5,13 +5,14 @@ AnyCPU $(MSBuildProjectName.Contains('Tests')) embedded - Glenn Watson - Copyright (c) 2021 ReactiveUI Association Inc + Glenn Watson,Chris Pulman + Copyright (c) $([System.DateTime]::Now.ToString(yyyy)) ReactiveUI Association Inc MIT https://github.com/reactivemarbles/CacheDatabase Allows users to cache values in a local sqlite database. logo.png - glennawatson + README.md + glennawatson;chrispulman system.reactive;propertychanged;inpc;reactive;functional;akavache;cache;database https://github.com/reactivemarbles/CacheDatabase/releases https://github.com/reactivemarbles/CacheDatabase @@ -44,6 +45,7 @@ + diff --git a/src/ReactiveMarbles.CacheData.SystemTextJson/ReactiveMarbles.CacheDatabase.SystemTextJson.csproj b/src/ReactiveMarbles.CacheData.SystemTextJson/ReactiveMarbles.CacheDatabase.SystemTextJson.csproj index 6aa66b7..8548dde 100644 --- a/src/ReactiveMarbles.CacheData.SystemTextJson/ReactiveMarbles.CacheDatabase.SystemTextJson.csproj +++ b/src/ReactiveMarbles.CacheData.SystemTextJson/ReactiveMarbles.CacheDatabase.SystemTextJson.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/ReactiveMarbles.CacheDatabase.Settings.Tests/ReactiveMarbles.CacheDatabase.Settings.Tests.csproj b/src/ReactiveMarbles.CacheDatabase.Settings.Tests/ReactiveMarbles.CacheDatabase.Settings.Tests.csproj index 8357cce..c18902d 100644 --- a/src/ReactiveMarbles.CacheDatabase.Settings.Tests/ReactiveMarbles.CacheDatabase.Settings.Tests.csproj +++ b/src/ReactiveMarbles.CacheDatabase.Settings.Tests/ReactiveMarbles.CacheDatabase.Settings.Tests.csproj @@ -1,4 +1,4 @@ - + net6.0 diff --git a/src/ReactiveMarbles.CacheDatabase.Settings/Core/AppInfo.cs b/src/ReactiveMarbles.CacheDatabase.Settings/Core/AppInfo.cs index fc412aa..f9da9f6 100644 --- a/src/ReactiveMarbles.CacheDatabase.Settings/Core/AppInfo.cs +++ b/src/ReactiveMarbles.CacheDatabase.Settings/Core/AppInfo.cs @@ -13,6 +13,7 @@ using ReactiveMarbles.CacheDatabase.Sqlite3; #endif +using System.Diagnostics; using System.Reflection; #if ENCRYPTED @@ -34,7 +35,8 @@ static AppInfo() ExecutingAssemblyName = ExecutingAssembly.FullName!.Split(',')[0]; ApplicationRootPath = Path.Combine(Path.GetDirectoryName(ExecutingAssembly.Location)!, ".."); SettingsCachePath = Path.Combine(ApplicationRootPath, "SettingsCache"); - Version = ExecutingAssembly.GetName().Version; + var fileVersionInfo = FileVersionInfo.GetVersionInfo(ExecutingAssembly.Location); + Version = new(fileVersionInfo.ProductMajorPart, fileVersionInfo.ProductMinorPart, fileVersionInfo.ProductBuildPart, fileVersionInfo.ProductPrivatePart); } /// diff --git a/src/ReactiveMarbles.CacheDatabase.Tests/BlobCacheTestsBase.cs b/src/ReactiveMarbles.CacheDatabase.Tests/BlobCacheTestsBase.cs index 5263925..eb17173 100644 --- a/src/ReactiveMarbles.CacheDatabase.Tests/BlobCacheTestsBase.cs +++ b/src/ReactiveMarbles.CacheDatabase.Tests/BlobCacheTestsBase.cs @@ -182,9 +182,9 @@ public async Task ArraysShouldBeRoundtrippable() } } - Assert.Equal(input.First().Blog, result.First().Blog); - Assert.Equal(input.First().Bio, result.First().Bio); - Assert.Equal(input.First().Name, result.First().Name); + Assert.Equal(input[0].Blog, result[0].Blog); + Assert.Equal(input[0].Bio, result[0].Bio); + Assert.Equal(input[0].Name, result[0].Name); Assert.Equal(input.Last().Blog, result.Last().Blog); Assert.Equal(input.Last().Bio, result.Last().Bio); Assert.Equal(input.Last().Name, result.Last().Name); @@ -247,8 +247,8 @@ public async Task ArraysShouldBeRoundtrippableUsingObjectFactory(Type serializer } } - Assert.Equal(input.First().Age, result.First().Age); - Assert.Equal(input.First().Name, result.First().Name); + Assert.Equal(input[0].Age, result[0].Age); + Assert.Equal(input[0].Name, result[0].Name); Assert.Equal(input.Last().Age, result.Last().Age); Assert.Equal(input.Last().Name, result.Last().Name); } @@ -297,8 +297,7 @@ public async Task FetchFunctionShouldBeCalledOnceForGetOrFetchObject() /// Makes sure the fetch function debounces current requests. /// [Fact(Skip = "TestScheduler tests aren't gonna work with new SQLite")] - public void FetchFunctionShouldDebounceConcurrentRequests() - { + public void FetchFunctionShouldDebounceConcurrentRequests() => new TestScheduler().With(sched => { using (Utility.WithEmptyDirectory(out var path)) @@ -383,7 +382,6 @@ public void FetchFunctionShouldDebounceConcurrentRequests() } } }); - } /// /// Makes sure that the fetch function propogates thrown exceptions. @@ -392,10 +390,7 @@ public void FetchFunctionShouldDebounceConcurrentRequests() [Fact] public async Task FetchFunctionShouldPropagateThrownExceptionAsObservableException() { - var fetcher = new Func>>(() => - { - throw new InvalidOperationException(); - }); + var fetcher = new Func>>(() => throw new InvalidOperationException()); using (Utility.WithEmptyDirectory(out var path)) await using (var fixture = CreateBlobCache(path)) @@ -517,12 +512,12 @@ public async Task GetAndFetchLatestCallsFetchPredicate() { var fetchPredicateCalled = false; - Func fetchPredicate = d => + bool FetchPredicate(DateTimeOffset d) { fetchPredicateCalled = true; return true; - }; + } var fetcher = new Func>(() => Observable.Return("baz")); @@ -534,7 +529,7 @@ public async Task GetAndFetchLatestCallsFetchPredicate() { await fixture.InsertObject("foo", "bar").FirstAsync(); - await fixture.GetAndFetchLatest("foo", fetcher, fetchPredicate).LastAsync(); + await fixture.GetAndFetchLatest("foo", fetcher, FetchPredicate).LastAsync(); Assert.True(fetchPredicateCalled); } diff --git a/src/ReactiveMarbles.CacheDatabase.Tests/ReactiveMarbles.CacheDatabase.Tests.csproj b/src/ReactiveMarbles.CacheDatabase.Tests/ReactiveMarbles.CacheDatabase.Tests.csproj index aa981ad..bed4a3e 100644 --- a/src/ReactiveMarbles.CacheDatabase.Tests/ReactiveMarbles.CacheDatabase.Tests.csproj +++ b/src/ReactiveMarbles.CacheDatabase.Tests/ReactiveMarbles.CacheDatabase.Tests.csproj @@ -1,4 +1,4 @@ - + net6.0;net7.0 diff --git a/version.json b/version.json index a0ef1aa..8991113 100644 --- a/version.json +++ b/version.json @@ -1,5 +1,5 @@ { - "version": "1.2", + "version": "1.3", "publicReleaseRefSpec": [ "^refs/heads/master$", "^refs/heads/main$"