Example #1
0
        public void ParseExtensions(string args, string extension, string value, int expectedIndex)
        {
            var subject = new BaseFormatterImpl();
            int index;
            var req = new FormatterRequest(new Literal(1, 1, 1, 1, new StringBuilder()), string.Empty, null, args);

            // Warmup
            subject.ParseExtensions(req, out index);

            Benchmark.Start("Parsing extensions a few times (warmed up)", this.outputHelper);
            for (int i = 0; i < 1000; i++)
            {
                subject.ParseExtensions(req, out index);
            }

            Benchmark.End(this.outputHelper);

            var actual = subject.ParseExtensions(req, out index);

            Assert.NotEmpty(actual);
            var first = actual.First();

            Assert.Equal(extension, first.Extension);
            Assert.Equal(value, first.Value);
            Assert.Equal(expectedIndex, index);
        }
Example #2
0
        public void ParseExtensions_multiple()
        {
            var subject = new BaseFormatterImpl();
            int index;
            var args          = " offset:2 code:js ";
            var expectedIndex = 17;

            var req = new FormatterRequest(new Literal(1, 1, 1, 1, new StringBuilder()), string.Empty, null, args);

            var actual = subject.ParseExtensions(req, out index);

            Assert.NotEmpty(actual);
            var result = actual.First();

            Assert.Equal("offset", result.Extension);
            Assert.Equal("2", result.Value);

            result = actual.ElementAt(1);
            Assert.Equal("code", result.Extension);
            Assert.Equal("js", result.Value);

            Assert.Equal(expectedIndex, index);
        }
        public void ParseExtensions_multiple()
        {
            var subject = new BaseFormatterImpl();
            int index;
            var args = " offset:2 code:js ";
            var expectedIndex = 17;

            var req = new FormatterRequest(new Literal(1, 1, 1, 1, new StringBuilder()), null, null, args);

            var actual = subject.ParseExtensions(req, out index);
            Assert.NotEmpty(actual);
            var result = actual.First();
            Assert.Equal("offset", result.Extension);
            Assert.Equal("2", result.Value);

            result = actual.ElementAt(1);
            Assert.Equal("code", result.Extension);
            Assert.Equal("js", result.Value);

            Assert.Equal(expectedIndex, index);
        }
        public void ParseExtensions(string args, string extension, string value, int expectedIndex)
        {
            var subject = new BaseFormatterImpl();
            int index;
            var req = new FormatterRequest(new Literal(1, 1, 1, 1, new StringBuilder()), null, null, args);

            // Warmup
            subject.ParseExtensions(req, out index);

            Benchmark.Start("Parsing extensions a few times (warmed up)", this.outputHelper);
            for (int i = 0; i < 1000; i++)
            {
                subject.ParseExtensions(req, out index);
            }

            Benchmark.End(this.outputHelper);

            var actual = subject.ParseExtensions(req, out index);
            Assert.NotEmpty(actual);
            var first = actual.First();
            Assert.Equal(extension, first.Extension);
            Assert.Equal(value, first.Value);
            Assert.Equal(expectedIndex, index);
        }