public void WriteBlock_WritesBlock(FlexiCardsBlock dummyFlexiCardsBlock, string expectedResult) { // Arrange var dummyStringWriter = new StringWriter(); var dummyHtmlRenderer = new HtmlRenderer(dummyStringWriter); ExposedFlexiCardsBlockRenderer testSubject = CreateExposedFlexiCardsBlockRenderer(); // Act testSubject.ExposedWriteBlock(dummyHtmlRenderer, dummyFlexiCardsBlock); string result = dummyStringWriter.ToString(); // Assert Assert.Equal(expectedResult, result, ignoreLineEndingDifferences: true); }
public void WriteBlock_OnlyWritesChildrenIfEnableHtmlForBlockIsFalse() { // Arrange // Dummy title part const string dummyTitle = "dummyTitle"; var dummyTitleContainerInline = new ContainerInline(); dummyTitleContainerInline.AppendChild(new LiteralInline(dummyTitle)); var dummyTitlePartBlock = new PlainLeafBlock(null); dummyTitlePartBlock.Inline = dummyTitleContainerInline; // Dummy content part const string dummyContent = "dummyContent"; var dummyContentContainerInline = new ContainerInline(); dummyContentContainerInline.AppendChild(new LiteralInline(dummyContent)); var dummyContentParagraphBlock = new ParagraphBlock() { Inline = dummyContentContainerInline }; var dummyContentPartBlock = new PlainContainerBlock(null); dummyContentPartBlock.Add(dummyContentParagraphBlock); // Dummy footnote part const string dummyFootnote = "dummyFootnote"; var dummyFootnoteContainerInline = new ContainerInline(); dummyFootnoteContainerInline.AppendChild(new LiteralInline(dummyFootnote)); var dummyFootnotePartBlock = new PlainLeafBlock(null); dummyFootnotePartBlock.Inline = dummyFootnoteContainerInline; FlexiCardsBlock dummyFlexiCardsBlock = CreateFlexiCardsBlock(children: new List <FlexiCardBlock> { CreateFlexiCardBlock(titlePart: dummyTitlePartBlock, contentPart: dummyContentPartBlock, footnotePart: dummyFootnotePartBlock) }); var dummyStringWriter = new StringWriter(); var dummyHtmlRenderer = new HtmlRenderer(dummyStringWriter) { EnableHtmlForBlock = false }; ExposedFlexiCardsBlockRenderer testSubject = CreateExposedFlexiCardsBlockRenderer(); // Act testSubject.ExposedWriteBlock(dummyHtmlRenderer, dummyFlexiCardsBlock); string result = dummyStringWriter.ToString(); // Assert Assert.Equal($"{dummyTitle}\n{dummyContent}\n{dummyFootnote}\n", result, ignoreLineEndingDifferences: true); }
private static FlexiCardsBlock CreateFlexiCardsBlock(string blockName = default, FlexiCardBlockSize cardSize = default, ReadOnlyDictionary <string, string> attributes = default, BlockParser blockParser = default, List <FlexiCardBlock> children = default) { var result = new FlexiCardsBlock(blockName, cardSize, attributes, blockParser); if (children != null) { foreach (FlexiCardBlock child in children) { result.Add(child); } } return(result); }
public void Create_CreatesFlexiCardsBlock() { // Arrange var dummySpan = new SourceSpan(6, 19); const int dummyLine = 5; const int dummyColumn = 2; BlockParser dummyBlockParser = _mockRepository.Create <BlockParser>().Object; const string dummyBlockName = "dummyBlockName"; const string dummyResolvedBlockName = "dummyResolvedBlockName"; const FlexiCardBlockSize dummyCardSize = FlexiCardBlockSize.Medium; var dummyAttributes = new ReadOnlyDictionary <string, string>(new Dictionary <string, string>()); Mock <IFlexiCardsBlockOptions> mockFlexiCardsBlockOptions = _mockRepository.Create <IFlexiCardsBlockOptions>(); mockFlexiCardsBlockOptions.Setup(f => f.BlockName).Returns(dummyBlockName); mockFlexiCardsBlockOptions.Setup(f => f.CardSize).Returns(dummyCardSize); mockFlexiCardsBlockOptions.Setup(f => f.Attributes).Returns(dummyAttributes); ProxyFlexiCardsBlock dummyProxyFlexiCardsBlock = CreateProxyFlexiCardsBlock(mockFlexiCardsBlockOptions.Object, blockParser: dummyBlockParser); dummyProxyFlexiCardsBlock.Line = dummyLine; dummyProxyFlexiCardsBlock.Column = dummyColumn; dummyProxyFlexiCardsBlock.Span = dummySpan; Mock <FlexiCardsBlockFactory> mockTestSubject = CreateMockFlexiCardsBlockFactory(); mockTestSubject.CallBase = true; mockTestSubject.Setup(t => t.ResolveBlockName(dummyBlockName)).Returns(dummyResolvedBlockName); mockTestSubject.Setup(t => t.ValidateCardSize(dummyCardSize)); mockTestSubject.Protected().Setup("MoveChildren", dummyProxyFlexiCardsBlock, ItExpr.IsAny <FlexiCardsBlock>()); // Act FlexiCardsBlock result = mockTestSubject.Object.Create(dummyProxyFlexiCardsBlock, null); // Assert _mockRepository.VerifyAll(); Assert.Equal(dummyResolvedBlockName, result.BlockName); Assert.Equal(dummyCardSize, result.CardSize); Assert.Same(dummyAttributes, result.Attributes); Assert.Same(dummyBlockParser, result.Parser); Assert.Equal(dummyColumn, result.Column); Assert.Equal(dummyLine, result.Line); Assert.Equal(dummySpan, result.Span); }
public void ExposedWriteBlock(HtmlRenderer htmlRenderer, FlexiCardsBlock flexiCardsBlock) { WriteBlock(htmlRenderer, flexiCardsBlock); }