public static void MatchSnapshot(this Snapshot snapshot, SnapshotOptions options) { options = options.MergeDefault(); var resolver = new SnapshotSetupResolver(); var setup = resolver.ResolveSnapshotSetup(); var client = GetClient(); var result = client.Validate(snapshot, setup, options); if (result.Status == SnapshotStatus.SnapshotDoesNotExist || result.Status == SnapshotStatus.UpdateSnapshot) { client.Write(snapshot, setup); result = SnapshotResult.SnapshotUpdated(snapshot, null); } SnapshotAsserter.AssertSnapshot(result); }