/// <summary> /// create a snapshot token of the string /// </summary> /// <param name="snapshot"></param> /// <param name="options"></param> /// <returns></returns> public static Snapshot Tokenize(string snapshot, SnapshotOptions options) { options = options.MergeDefault(); var parser = options.Parser ?? new LineParser(); var token = new Snapshot(); var lines = snapshot.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); foreach (var line in lines) { token.Add(parser.Parse(line)); } return(token); }
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); }
/// <summary> /// create a snapshot token of the object /// </summary> /// <typeparam name="T"></typeparam> /// <param name="snapshot"></param> /// <param name="options"></param> /// <returns></returns> public static Snapshot MapToToken <T>(T snapshot, SnapshotOptions options) { options = options.MergeDefault(); var mapper = ObjectMapper.Mapper.GetMapper(typeof(T)); var token = mapper.Map(snapshot, options); var parser = options.Parser; if (parser == null) { return(token); } for (var i = 0; i < token.Count(); i++) { token[i] = parser.Parse(token[i]); } return(token); }