/// <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);
        }
Beispiel #2
0
        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);
        }