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); }