Example #1
0
        public void TokenBuilder_does_not_use_skipped_formatters()
        {
            var mimeograph = new Mimeographs();
            var builder    = new BlogTemplateTokenBuilder();

            builder.Configure();
            mimeograph.Add(new Mimeograph <BlogTemplate>(builder));
            mimeograph.CreateStencil <BlogTemplate>("blah", "{Id}....{SecondBlogTitle} asdf");
            var result = mimeograph.Render("blah", new BlogTemplate {
                Id = 3, BlogTitle = "hi"
            });

            result.ShouldEqual("3....hi asdf");
        }
Example #2
0
        public void TokenBuilder_uses_value_formatters_properly_and_not_on_regular_text_in_template()
        {
            var mimeograph = new Mimeographs();
            var builder    = new BlogTemplateTokenBuilder();

            builder.Configure();
            mimeograph.Add(new Mimeograph <BlogTemplate>(builder));
            mimeograph.CreateStencil <BlogTemplate>("blah", "{Id}....{BlogTitle}asdf");
            var result = mimeograph.Render("blah", new BlogTemplate {
                Id = 3, BlogTitle = "hi"
            });

            result.ShouldEqual("3....HIasdf");
        }
Example #3
0
        public void TokenBuilder_with_value_formatter_for_int_uses_value_formatter()
        {
            var mimeograph = new Mimeographs();
            var builder    = new BlogTemplateTokenBuilder();

            builder.Configure();
            mimeograph.Add(new Mimeograph <BlogTemplate>(builder));
            mimeograph.CreateStencil <BlogTemplate>("blah", "{Id}");
            var result = mimeograph.Render("blah", new BlogTemplate {
                Id = 3
            });

            result.ShouldEqual("3");
        }
Example #4
0
        public void TokenBuilder_with_value_formatters_uses_value_formatters()
        {
            var mimeograph = new Mimeographs();
            var builder    = new BlogTemplateTokenBuilder();

            builder.Configure();
            mimeograph.Add(new Mimeograph <BlogTemplate>(builder));

            const string template = "{BlogTitle}";

            mimeograph.CreateStencil <BlogTemplate>("blah", template);
            var result = mimeograph.Render("blah", new BlogTemplate {
                BlogTitle = "Hi"
            });

            result.ShouldEqual("HI");
        }
Example #5
0
        public void ExecuteTestSets()
        {
            // add testing log stuff.

            var success = true;

            foreach (var test in TestSets)
            {
                var blogTemplate = test.Data.Deserialize <BlogTemplate>();

                _mimeographs.CreateStencil <BlogTemplate>(test.Name, test.Template.OpenRead());

                var stopwatch = new Stopwatch();
                stopwatch.Start();
                var actualOutput = _mimeographs.Render(test.Name, blogTemplate);
                stopwatch.Stop();

                var resultsFile = new FileInfo("TestOutput\\" + test.Name + FileExtensions.Results);

                using (var resultsWriter = new StreamWriter(resultsFile.Open(FileMode.Append, FileAccess.Write, FileShare.Write)))
                {
                    resultsWriter.WriteLine("Completed in {0} milliseconds", stopwatch.ElapsedMilliseconds);
                }

                var actualOutputFile = new FileInfo("TestOutput\\" + test.Name + FileExtensions.ActualOutput);

                using (var actualOutputWriter = new StreamWriter(actualOutputFile.Open(FileMode.Append, FileAccess.Write, FileShare.Write)))
                {
                    actualOutputWriter.WriteLine(actualOutput);
                }

                var expectedOutput = File.ReadAllText(test.ExpectedOutput.FullName);

                try
                {
                    actualOutput.ShouldEqual(expectedOutput);
                }
                catch (Exception)
                {
                    // log exception
                    success = false;
                }
            }

            success.ShouldBeTrue();
        }