From 0d9872a2060d46cc477369706e298bc83f77192c Mon Sep 17 00:00:00 2001 From: Matthias Lischka Date: Wed, 3 Apr 2024 13:42:48 +0200 Subject: [PATCH 1/2] Add StrictMode to MatchOptions --- src/Snapshooter.sln | 2 +- src/Snapshooter/Core/ISnapshotFileHandler.cs | 2 +- ...entValidator.cs => StrictModeValidator.cs} | 16 +-- src/Snapshooter/MatchOptions.cs | 27 +++++ src/Snapshooter/SnapshotAssert.cs | 23 +++-- .../Helpers/EnvironmentCleanupFixture.cs | 3 +- .../Helpers/SynchronExecutionFixture.cs | 7 +- ...oj => Snapshooter.StrictMode.Tests.csproj} | 4 +- .../StrictModeTests.cs | 99 +++++++++++++++---- ...onment_StrictMode_On_Snapshot_Exists.snap} | 0 ...Options_StrictMode_On_Snapshot_Exists.snap | 56 +++++++++++ 11 files changed, 188 insertions(+), 51 deletions(-) rename src/Snapshooter/Core/Validators/{EnvironmentValidator.cs => StrictModeValidator.cs} (51%) rename test/Snapshooter.Environment.Tests/{Snapshooter.Environment.Tests.csproj => Snapshooter.StrictMode.Tests.csproj} (76%) rename test/Snapshooter.Environment.Tests/__snapshots__/{StrictModeTests.Match_With_StrictMode_On_Snapshot_Exists.snap => StrictModeTests.Match_With_Environment_StrictMode_On_Snapshot_Exists.snap} (100%) create mode 100644 test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap diff --git a/src/Snapshooter.sln b/src/Snapshooter.sln index 0a8fe52..bb16e18 100644 --- a/src/Snapshooter.sln +++ b/src/Snapshooter.sln @@ -18,7 +18,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmark", "benchmark", "{ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{F9DFF684-4ACF-45E4-B23E-E8928DE0C9FE}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snapshooter.Environment.Tests", "..\test\Snapshooter.Environment.Tests\Snapshooter.Environment.Tests.csproj", "{C5859230-A6A7-45E7-993C-79C23527CB73}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snapshooter.StrictMode.Tests", "..\test\Snapshooter.Environment.Tests\Snapshooter.StrictMode.Tests.csproj", "{C5859230-A6A7-45E7-993C-79C23527CB73}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snapshooter.Json.Tests", "..\test\Snapshooter.Json.Tests\Snapshooter.Json.Tests.csproj", "{C2727126-A53A-4B13-AB09-559260F294D7}" EndProject diff --git a/src/Snapshooter/Core/ISnapshotFileHandler.cs b/src/Snapshooter/Core/ISnapshotFileHandler.cs index 75d67af..a092724 100644 --- a/src/Snapshooter/Core/ISnapshotFileHandler.cs +++ b/src/Snapshooter/Core/ISnapshotFileHandler.cs @@ -42,7 +42,7 @@ public interface ISnapshotFileHandler /// The full name of the snapshot. /// The loaded snapshot data. /// True if the snapshot could be found. - bool TryReadSnapshot(SnapshotFullName snapshotFullName, out string snapshotData); + bool TryReadSnapshot(SnapshotFullName snapshotFullName, out string? snapshotData); /// /// Deletes the current snapshot if exists from the __snapshots__ folder. diff --git a/src/Snapshooter/Core/Validators/EnvironmentValidator.cs b/src/Snapshooter/Core/Validators/StrictModeValidator.cs similarity index 51% rename from src/Snapshooter/Core/Validators/EnvironmentValidator.cs rename to src/Snapshooter/Core/Validators/StrictModeValidator.cs index 6b0d770..cb8e0e9 100644 --- a/src/Snapshooter/Core/Validators/EnvironmentValidator.cs +++ b/src/Snapshooter/Core/Validators/StrictModeValidator.cs @@ -3,17 +3,13 @@ namespace Snapshooter.Core.Validators { - internal static class EnvironmentValidator + internal static class StrictModeValidator { - public static void CheckStrictMode(bool originalSnapshotExists) + public static void CheckStrictMode(bool originalSnapshotExists, MatchOptions matchOptions) { if (!originalSnapshotExists) { - string value = Environment - .GetEnvironmentVariable("SNAPSHOOTER_STRICT_MODE"); - - if (string.Equals(value, "on", StringComparison.Ordinal) - || (bool.TryParse(value, out bool b) && b)) + if (IsStrictModeEnvironmentVariableActive() || matchOptions.UseStrictMode) { throw new SnapshotNotFoundException( "Strict mode is enabled and no snapshot has been found " + @@ -22,5 +18,11 @@ public static void CheckStrictMode(bool originalSnapshotExists) } } } + + private static bool IsStrictModeEnvironmentVariableActive() + { + var environmentVariableValue = Environment.GetEnvironmentVariable("SNAPSHOOTER_STRICT_MODE"); + return string.Equals(environmentVariableValue, "on", StringComparison.Ordinal) || (bool.TryParse(environmentVariableValue, out bool b) && b); + } } } diff --git a/src/Snapshooter/MatchOptions.cs b/src/Snapshooter/MatchOptions.cs index 1010739..994d6d1 100644 --- a/src/Snapshooter/MatchOptions.cs +++ b/src/Snapshooter/MatchOptions.cs @@ -18,6 +18,11 @@ public class MatchOptions /// protected List _matchOperators; + /// + /// Flag if strict mode should be used. + /// + protected bool _useStrictMode; + /// /// Constructor of the class to create /// a new instance. @@ -500,6 +505,28 @@ public MatchOptions IncludeField(string fieldPath) return this; } + /// + /// The method allows you to turn Strict Mode on or off. + /// If enabled the comparison will throw a when no snapshot was found. + /// + /// The flag that turns Strict Mode on or off. + /// + public MatchOptions SetStrictMode(bool useStrictMode = false) + { + _useStrictMode = useStrictMode; + + return this; + } + + /// + /// Flag if Strict Mode is on or off. + /// If Strict Mode is on the comparison will throw a when no snapshot was found. + /// + public bool UseStrictMode + { + get { return _useStrictMode; } + } + private MatchOptions AddIgnoreMatchOperator(string fieldsPath) { _matchOperators.Add( diff --git a/src/Snapshooter/SnapshotAssert.cs b/src/Snapshooter/SnapshotAssert.cs index ea3fa20..e7348f3 100644 --- a/src/Snapshooter/SnapshotAssert.cs +++ b/src/Snapshooter/SnapshotAssert.cs @@ -69,37 +69,36 @@ public class SnapshotAssert : ISnapshotAssert string actualSnapshotSerialized = _snapshotFormatter .FormatSnapshot(objectSnapshotSerialized, matchOptions); - bool originalSnapshotExists = _snapshotFileHandler - .TryReadSnapshot(snapshotFullName, out string? originalSnapshotSerialized); + bool expectedSnapshotExists = _snapshotFileHandler + .TryReadSnapshot(snapshotFullName, out string? expectedSnapshotSerialized); - originalSnapshotSerialized ??= actualSnapshotSerialized; + expectedSnapshotSerialized ??= actualSnapshotSerialized; ExecuteSnapshotComparison( - originalSnapshotExists, + expectedSnapshotExists, + expectedSnapshotSerialized, actualSnapshotSerialized, - originalSnapshotSerialized, snapshotFullName, matchOptions); } private void ExecuteSnapshotComparison( - bool originalSnapshotExists, + bool expectedSnapshotExists, + string expectedSnapshotSerialized, string actualSnapshotSerialized, - string originalSnapshotSerialized, SnapshotFullName snapshotFullName, MatchOptions matchOptions) { try { - EnvironmentValidator.CheckStrictMode( - originalSnapshotExists); - + StrictModeValidator.CheckStrictMode(expectedSnapshotExists, matchOptions); + _snapshotComparer.CompareSnapshots( - originalSnapshotSerialized, + expectedSnapshotSerialized, actualSnapshotSerialized, matchOptions); - if (!originalSnapshotExists) + if (!expectedSnapshotExists) { _snapshotFileHandler.SaveNewSnapshot( snapshotFullName, diff --git a/test/Snapshooter.Environment.Tests/Helpers/EnvironmentCleanupFixture.cs b/test/Snapshooter.Environment.Tests/Helpers/EnvironmentCleanupFixture.cs index 1a2260a..2884048 100644 --- a/test/Snapshooter.Environment.Tests/Helpers/EnvironmentCleanupFixture.cs +++ b/test/Snapshooter.Environment.Tests/Helpers/EnvironmentCleanupFixture.cs @@ -1,7 +1,6 @@ using System; -using Newtonsoft.Json.Linq; -namespace Snapshooter.Environment.Tests.Helpers +namespace Snapshooter.StrictMode.Tests.Helpers { public class EnvironmentCleanupFixture : IDisposable { diff --git a/test/Snapshooter.Environment.Tests/Helpers/SynchronExecutionFixture.cs b/test/Snapshooter.Environment.Tests/Helpers/SynchronExecutionFixture.cs index 8ab74f4..a1550e0 100644 --- a/test/Snapshooter.Environment.Tests/Helpers/SynchronExecutionFixture.cs +++ b/test/Snapshooter.Environment.Tests/Helpers/SynchronExecutionFixture.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Xunit; - -namespace Snapshooter.Environment.Tests.Helpers +namespace Snapshooter.StrictMode.Tests.Helpers { public static class CollectionFixtureNames { diff --git a/test/Snapshooter.Environment.Tests/Snapshooter.Environment.Tests.csproj b/test/Snapshooter.Environment.Tests/Snapshooter.StrictMode.Tests.csproj similarity index 76% rename from test/Snapshooter.Environment.Tests/Snapshooter.Environment.Tests.csproj rename to test/Snapshooter.Environment.Tests/Snapshooter.StrictMode.Tests.csproj index cc5bdc1..83eaea2 100644 --- a/test/Snapshooter.Environment.Tests/Snapshooter.Environment.Tests.csproj +++ b/test/Snapshooter.Environment.Tests/Snapshooter.StrictMode.Tests.csproj @@ -2,8 +2,8 @@ - Snapshooter.Environment.Tests - Snapshooter.Environment.Tests + Snapshooter.StrictMode.Tests + Snapshooter.StrictMode.Tests true diff --git a/test/Snapshooter.Environment.Tests/StrictModeTests.cs b/test/Snapshooter.Environment.Tests/StrictModeTests.cs index ba032f3..7360f9e 100644 --- a/test/Snapshooter.Environment.Tests/StrictModeTests.cs +++ b/test/Snapshooter.Environment.Tests/StrictModeTests.cs @@ -1,12 +1,12 @@ using System; using System.IO; -using Snapshooter.Environment.Tests.Helpers; using Snapshooter.Exceptions; +using Snapshooter.StrictMode.Tests.Helpers; using Snapshooter.Tests.Data; using Snapshooter.Xunit; using Xunit; -namespace Snapshooter.Environment.Tests +namespace Snapshooter.StrictMode.Tests { [Collection(CollectionFixtureNames.SynchronExecutionFixture)] public class StrictModeTests : IClassFixture @@ -14,7 +14,7 @@ public class StrictModeTests : IClassFixture [Theory] [InlineData("on")] [InlineData("true")] - public void Match_With_StrictMode_On_Snapshot_Missing(string value) + public void Match_With_Environment_StrictMode_On_Snapshot_Missing(string value) { // arrange System.Environment.SetEnvironmentVariable("SNAPSHOOTER_STRICT_MODE", value); @@ -30,7 +30,7 @@ public void Match_With_StrictMode_On_Snapshot_Missing(string value) [Theory] [InlineData("on")] [InlineData("true")] - public void Match_With_StrictMode_On_Snapshot_Exists(string value) + public void Match_With_Environment_StrictMode_On_Snapshot_Exists(string value) { // arrange System.Environment.SetEnvironmentVariable("SNAPSHOOTER_STRICT_MODE", value); @@ -43,31 +43,90 @@ public void Match_With_StrictMode_On_Snapshot_Exists(string value) [Theory] [InlineData("off")] [InlineData("false")] - public void Match_With_StrictMode_Off_Snapshot_Not_Exists(string value) + public void Match_With_Environment_StrictMode_Off_Snapshot_Not_Exists(string value) { // arrange - var snapshotFullNameResolver = new SnapshotFullNameResolver( - new XunitSnapshotFullNameReader()); + DeleteSnapshotFileIfExisting(); + System.Environment.SetEnvironmentVariable("SNAPSHOOTER_STRICT_MODE", value); + TestPerson testPerson = TestDataBuilder.TestPersonMarkWalton().Build(); - SnapshotFullName snapshotFullName = - snapshotFullNameResolver.ResolveSnapshotFullName(); + // act & assert + Snapshot.Match(testPerson); + DeleteSnapshotFileIfExisting(); + } - string snapshotFileName = Path.Combine( - snapshotFullName.FolderPath, - FileNames.SnapshotFolderName, - snapshotFullName.Filename); + [Fact] + public void Match_With_MatchOptions_StrictMode_On_Snapshot_Missing() + { + // arrange + TestPerson testPerson = TestDataBuilder.TestPersonMarkWalton().Build(); - if (File.Exists(snapshotFileName)) - { - File.Delete(snapshotFileName); - } + // act + Action action = () => Snapshot.Match(testPerson, options => options.SetStrictMode(true)); - System.Environment.SetEnvironmentVariable("SNAPSHOOTER_STRICT_MODE", value); + //assert + Assert.Throws(action); + } + + [Fact] + public void Match_With_MatchOptions_StrictMode_On_Snapshot_Exists() + { + // arrange TestPerson testPerson = TestDataBuilder.TestPersonMarkWalton().Build(); // act & assert - Snapshot.Match(testPerson); - File.Delete(snapshotFileName); + Snapshot.Match(testPerson, options => options.SetStrictMode(true)); + } + + [Fact] + public void Match_With_MatchOptions_StrictMode_Off_Snapshot_Not_Exists() + { + // arrange + DeleteSnapshotFileIfExisting(); + TestPerson testPerson = TestDataBuilder.TestPersonMarkWalton().Build(); + + // act & assert + Snapshot.Match(testPerson, options => options.SetStrictMode(false)); + DeleteSnapshotFileIfExisting(); + } + + [Fact] + public void Match_With_Environment_StrictMode_Off_MatchOptions_StrictMode_On() + { + // arrange + TestPerson testPerson = TestDataBuilder.TestPersonMarkWalton().Build(); + + // act + Action action = () => Snapshot.Match(testPerson, options => options.SetStrictMode(true)); + + //assert + Assert.Throws(action); + } + + [Fact] + public void Match_With_Environment_StrictMode_On_MatchOptions_StrictMode_On() + { + // arrange + System.Environment.SetEnvironmentVariable("SNAPSHOOTER_STRICT_MODE", "on"); + TestPerson testPerson = TestDataBuilder.TestPersonMarkWalton().Build(); + + // act + Action action = () => Snapshot.Match(testPerson, options => options.SetStrictMode(true)); + + //assert + Assert.Throws(action); + } + + private void DeleteSnapshotFileIfExisting() + { + var snapshotFullNameResolver = new SnapshotFullNameResolver(new XunitSnapshotFullNameReader()); + SnapshotFullName snapshotFullName = snapshotFullNameResolver.ResolveSnapshotFullName(); + var snapshotFileName = Path.Combine(snapshotFullName.FolderPath, FileNames.SnapshotFolderName, snapshotFullName.Filename); + + if (File.Exists(snapshotFileName)) + { + File.Delete(snapshotFileName); + } } } } diff --git a/test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_StrictMode_On_Snapshot_Exists.snap b/test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_Environment_StrictMode_On_Snapshot_Exists.snap similarity index 100% rename from test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_StrictMode_On_Snapshot_Exists.snap rename to test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_Environment_StrictMode_On_Snapshot_Exists.snap diff --git a/test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap b/test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap new file mode 100644 index 0000000..b115d4f --- /dev/null +++ b/test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap @@ -0,0 +1,56 @@ +{ + "Id": "c78c698f-9ee5-4b4b-9a0e-ef729b1f8ec8", + "Firstname": "Mark", + "Lastname": "Walton", + "CreationDate": "2018-06-06T00:00:00", + "DateOfBirth": "2000-06-25T00:00:00", + "Age": 30, + "Size": 182.5214, + "Address": { + "Street": "Rohrstrasse", + "StreetNumber": 12, + "Plz": 8304, + "City": "Wallislellen", + "Country": { + "Name": "Switzerland", + "CountryCode": "CH" + } + }, + "Children": [ + { + "Name": "James", + "DateOfBirth": "2015-02-12T00:00:00" + }, + { + "Name": null, + "DateOfBirth": "2015-02-12T00:00:00" + }, + { + "Name": "Hanna", + "DateOfBirth": "2012-03-20T00:00:00" + } + ], + "Relatives": [ + { + "Id": "fcf04ca6-d8f2-4214-a3ff-d0ded5bad4de", + "Firstname": "Sandra", + "Lastname": "Schneider", + "CreationDate": "2019-04-01T00:00:00", + "DateOfBirth": "1996-02-14T00:00:00", + "Age": null, + "Size": 165.23, + "Address": { + "Street": "Bahnhofstrasse", + "StreetNumber": 450, + "Plz": 8000, + "City": "Zurich", + "Country": { + "Name": "Switzerland", + "CountryCode": "CH" + } + }, + "Children": [], + "Relatives": null + } + ] +} From f9879afa62acf0978e34bade7d0f41b880cf1738 Mon Sep 17 00:00:00 2001 From: Matthias Lischka Date: Wed, 3 Apr 2024 13:45:10 +0200 Subject: [PATCH 2/2] Rename Test Project Folder --- src/Snapshooter.sln | 2 +- .../Helpers/EnvironmentCleanupFixture.cs | 0 .../Helpers/SynchronExecutionFixture.cs | 0 .../Snapshooter.StrictMode.Tests.csproj | 0 .../StrictModeTests.cs | 0 ...ts.Match_With_Environment_StrictMode_On_Snapshot_Exists.snap | 0 ...s.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap | 0 7 files changed, 1 insertion(+), 1 deletion(-) rename test/{Snapshooter.Environment.Tests => Snapshooter.StrictMode.Tests}/Helpers/EnvironmentCleanupFixture.cs (100%) rename test/{Snapshooter.Environment.Tests => Snapshooter.StrictMode.Tests}/Helpers/SynchronExecutionFixture.cs (100%) rename test/{Snapshooter.Environment.Tests => Snapshooter.StrictMode.Tests}/Snapshooter.StrictMode.Tests.csproj (100%) rename test/{Snapshooter.Environment.Tests => Snapshooter.StrictMode.Tests}/StrictModeTests.cs (100%) rename test/{Snapshooter.Environment.Tests => Snapshooter.StrictMode.Tests}/__snapshots__/StrictModeTests.Match_With_Environment_StrictMode_On_Snapshot_Exists.snap (100%) rename test/{Snapshooter.Environment.Tests => Snapshooter.StrictMode.Tests}/__snapshots__/StrictModeTests.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap (100%) diff --git a/src/Snapshooter.sln b/src/Snapshooter.sln index bb16e18..d0d6a2e 100644 --- a/src/Snapshooter.sln +++ b/src/Snapshooter.sln @@ -18,7 +18,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmark", "benchmark", "{ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{F9DFF684-4ACF-45E4-B23E-E8928DE0C9FE}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snapshooter.StrictMode.Tests", "..\test\Snapshooter.Environment.Tests\Snapshooter.StrictMode.Tests.csproj", "{C5859230-A6A7-45E7-993C-79C23527CB73}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snapshooter.StrictMode.Tests", "..\test\Snapshooter.StrictMode.Tests\Snapshooter.StrictMode.Tests.csproj", "{C5859230-A6A7-45E7-993C-79C23527CB73}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snapshooter.Json.Tests", "..\test\Snapshooter.Json.Tests\Snapshooter.Json.Tests.csproj", "{C2727126-A53A-4B13-AB09-559260F294D7}" EndProject diff --git a/test/Snapshooter.Environment.Tests/Helpers/EnvironmentCleanupFixture.cs b/test/Snapshooter.StrictMode.Tests/Helpers/EnvironmentCleanupFixture.cs similarity index 100% rename from test/Snapshooter.Environment.Tests/Helpers/EnvironmentCleanupFixture.cs rename to test/Snapshooter.StrictMode.Tests/Helpers/EnvironmentCleanupFixture.cs diff --git a/test/Snapshooter.Environment.Tests/Helpers/SynchronExecutionFixture.cs b/test/Snapshooter.StrictMode.Tests/Helpers/SynchronExecutionFixture.cs similarity index 100% rename from test/Snapshooter.Environment.Tests/Helpers/SynchronExecutionFixture.cs rename to test/Snapshooter.StrictMode.Tests/Helpers/SynchronExecutionFixture.cs diff --git a/test/Snapshooter.Environment.Tests/Snapshooter.StrictMode.Tests.csproj b/test/Snapshooter.StrictMode.Tests/Snapshooter.StrictMode.Tests.csproj similarity index 100% rename from test/Snapshooter.Environment.Tests/Snapshooter.StrictMode.Tests.csproj rename to test/Snapshooter.StrictMode.Tests/Snapshooter.StrictMode.Tests.csproj diff --git a/test/Snapshooter.Environment.Tests/StrictModeTests.cs b/test/Snapshooter.StrictMode.Tests/StrictModeTests.cs similarity index 100% rename from test/Snapshooter.Environment.Tests/StrictModeTests.cs rename to test/Snapshooter.StrictMode.Tests/StrictModeTests.cs diff --git a/test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_Environment_StrictMode_On_Snapshot_Exists.snap b/test/Snapshooter.StrictMode.Tests/__snapshots__/StrictModeTests.Match_With_Environment_StrictMode_On_Snapshot_Exists.snap similarity index 100% rename from test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_Environment_StrictMode_On_Snapshot_Exists.snap rename to test/Snapshooter.StrictMode.Tests/__snapshots__/StrictModeTests.Match_With_Environment_StrictMode_On_Snapshot_Exists.snap diff --git a/test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap b/test/Snapshooter.StrictMode.Tests/__snapshots__/StrictModeTests.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap similarity index 100% rename from test/Snapshooter.Environment.Tests/__snapshots__/StrictModeTests.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap rename to test/Snapshooter.StrictMode.Tests/__snapshots__/StrictModeTests.Match_With_MatchOptions_StrictMode_On_Snapshot_Exists.snap