コード例 #1
0
        public void Parse_EmptyString_ReturnsEndToken()
        {
            var parser = new TemplateTokenizer(string.Empty);
            var tokens = parser.ToArray();

            CollectionAssert.AreEqual(
                tokens, new[]
            {
                new TemplateToken(TemplateTokenType.End, 0, 1, string.Empty)
            });
        }
コード例 #2
0
        public void Parse_StringLiteral_ReturnsCorrectTokens()
        {
            var parser = new TemplateTokenizer("Test123");
            var tokens = parser.ToArray();

            CollectionAssert.AreEqual(
                tokens,
                new[]
            {
                new TemplateToken(TemplateTokenType.Character, 0, 1, "T"),
                new TemplateToken(TemplateTokenType.Character, 1, 1, "e"),
                new TemplateToken(TemplateTokenType.Character, 2, 1, "s"),
                new TemplateToken(TemplateTokenType.Character, 3, 1, "t"),
                new TemplateToken(TemplateTokenType.Character, 4, 1, "1"),
                new TemplateToken(TemplateTokenType.Character, 5, 1, "2"),
                new TemplateToken(TemplateTokenType.Character, 6, 1, "3"),
                new TemplateToken(TemplateTokenType.End, 7, 1, string.Empty)
            });
        }
コード例 #3
0
        public void Parse_LineNumbers_AreCorrect()
        {
            var parser = new TemplateTokenizer("1\n2\r3\n\r4\r\n5");
            var tokens = parser.ToArray();

            CollectionAssert.AreEqual(
                tokens,
                new[]
            {
                new TemplateToken(TemplateTokenType.Character, 0, 1, "1"),
                new TemplateToken(TemplateTokenType.LineBreak, 1, 1, "\n"),
                new TemplateToken(TemplateTokenType.Character, 2, 2, "2"),
                new TemplateToken(TemplateTokenType.LineBreak, 3, 2, "\r"),
                new TemplateToken(TemplateTokenType.Character, 4, 3, "3"),
                new TemplateToken(TemplateTokenType.LineBreak, 5, 3, "\n\r"),
                new TemplateToken(TemplateTokenType.Character, 7, 4, "4"),
                new TemplateToken(TemplateTokenType.LineBreak, 8, 4, "\r\n"),
                new TemplateToken(TemplateTokenType.Character, 10, 5, "5"),
                new TemplateToken(TemplateTokenType.End, 11, 5, string.Empty)
            });
        }