Exemple #1
0
        public void TestBuildTree_OnBoldTagInsideItalicTag()
        {
            var tokens = new[]
            {
                new Token(TokenType.Tag, "_"),
                new Token(TokenType.Text, "a"),
                new Token(TokenType.Space, " "),
                new Token(TokenType.Tag, "__"),
                new Token(TokenType.Text, "b"),
                new Token(TokenType.Tag, "__"),
                new Token(TokenType.Space, " "),
                new Token(TokenType.Text, "c"),
                new Token(TokenType.Tag, "_"),
            };
            var expectedTree = testTreeBuilder
                               .WithTag(TestTreeBuilder
                                        .Tag(new ItalicTagInfo())
                                        .WithText("a")
                                        .WithSpace()
                                        .WithTag(TestTreeBuilder
                                                 .RawTag(new BoldTagInfo())
                                                 .WithText("b")
                                                 .Build())
                                        .WithSpace()
                                        .WithText("c")
                                        .Build())
                               .Build();

            var tree = builder.BuildTree(tokens);

            tree.Should().BeEquivalentTo(expectedTree);
        }
        public void TestTranslate_OnBoldTagInsideItalicTag()
        {
            const string expectedTranslation = "<em>a __b__ c</em>";
            var          tree = treeBuilder
                                .WithTag(TestTreeBuilder
                                         .Tag(new ItalicTagInfo())
                                         .WithText("a")
                                         .WithSpace()
                                         .WithTag(TestTreeBuilder
                                                  .RawTag(new BoldTagInfo())
                                                  .WithText("b")
                                                  .Build())
                                         .WithSpace()
                                         .WithText("c")
                                         .Build())
                                .Build();

            var translation = treeTranslator.Translate(tree);

            translation.Should().BeEquivalentTo(expectedTranslation);
        }