/// <summary>
 /// Creates a json snapshot of the given object and compares it with the
 /// already existing snapshot of the test.
 /// If no snapshot exists, a new snapshot will be created from the current result
 /// and saved under a certain file path, which will shown within the test message.
 /// </summary>
 /// <param name="currentResult">The object to match.</param>
 /// <param name="snapshotName">
 /// The name of the snapshot. If not set, then the snapshotname
 /// will be evaluated automatically from the xunit test name.
 /// </param>
 /// <param name="matchOptions">
 /// Additional compare actions, which can be applied during the snapshot comparison
 /// </param>
 public static void MatchSnapshot(this object currentResult,
                                  string snapshotName,
                                  Func <MatchOptions, MatchOptions> matchOptions = null)
 {
     Snapshot.Match(currentResult, snapshotName, matchOptions);
 }