Ejemplo n.º 1
0
        public static IEnumerable <ITestCaseData> GetCommonMarkSpecTestCases()
        {
            var testCases = new List <ITestCaseData> ();

            foreach (var example in CommonMarkSpecReader.ExamplesFromGitSpec().Parse())
            {
                testCases.Add(new TestCaseData(example)
                {
                    TestName = "commonmark-spec-" + example.Title
                });
            }
            return(testCases);
        }
Ejemplo n.º 2
0
        public void SemanticRoundTripFullSpec()
        {
            const int passes = 100;

            var markdownParseDuration  = TimeSpan.Zero;
            var htmlFormatDuration     = TimeSpan.Zero;
            var markdownFormatDuration = TimeSpan.Zero;

            for (int i = 0; i < passes; i++)
            {
                TeePass referencePass;
                using (var reader = CommonMarkSpecReader.FromGitSpec())
                    referencePass = new TeePass(reader.ReadToEnd());

                var roundtripPass = new TeePass(referencePass.Block);
                roundtripPass.Html.ShouldEqual(referencePass.Html);

                markdownParseDuration  += referencePass.ParseTime;
                htmlFormatDuration     += referencePass.FormatTime;
                markdownFormatDuration += roundtripPass.FormatTime;
            }

            Action <string, TimeSpan> log = (label, duration) =>
                                            Console.WriteLine(
                "        {0}: {1}s total over {2} passes ({3}s average)",
                label,
                duration.TotalSeconds,
                passes,
                duration.TotalSeconds / passes);

            Console.WriteLine();
            log(" Markdown Parse", markdownParseDuration);
            log("    HTML Format", htmlFormatDuration);
            log("Markdown Format", markdownFormatDuration);
            Console.WriteLine();
        }