public void CreateFlexiTableBlock_CreatesFlexiTableBlock(FlexiTableType dummyType, Row[] dummyRows) { // Arrange const int dummyNumColumns = 6; const int dummyColumn = 4; const int dummyLine = 5; const int dummyLineStart = 3; const int dummyLineEnd = 10; const string dummyBlockName = "dummyBlockName"; BlockParser dummyBlockParser = _mockRepository.Create <BlockParser>().Object; var dummyColumnDefinitions = new List <ColumnDefinition>(); var dummyAttributes = new ReadOnlyDictionary <string, string>(new Dictionary <string, string>()); BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); var dummyProxyTableBlock = new ProxyTableBlock(dummyBlockParser); dummyProxyTableBlock.Column = dummyColumn; dummyProxyTableBlock.Line = dummyLine; dummyProxyTableBlock.Span = new SourceSpan(dummyLineStart, dummyLineEnd); foreach (Row row in dummyRows) { dummyProxyTableBlock.Rows.Add(row); } dummyProxyTableBlock.ColumnDefinitions = dummyColumnDefinitions; dummyProxyTableBlock.NumColumns = dummyNumColumns; var dummyFlexiTableRowBlock1 = new FlexiTableRowBlock(false); var dummyFlexiTableRowBlock2 = new FlexiTableRowBlock(false); var dummyFlexiTableRowBlock3 = new FlexiTableRowBlock(false); Mock <FlexiTableBlockFactory> mockTestSubject = CreateMockFlexiTableBlockFactory(); mockTestSubject.CallBase = true; mockTestSubject. Setup(t => t.CreateFlexiTableRowBlock(dummyType, It.IsAny <BlockProcessor>(), dummyColumnDefinitions, dummyNumColumns, 0, dummyRows[0], dummyRows[0].IsHeaderRow)). Returns(dummyFlexiTableRowBlock1); mockTestSubject. Setup(t => t.CreateFlexiTableRowBlock(dummyType, It.IsAny <BlockProcessor>(), dummyColumnDefinitions, dummyNumColumns, 1, dummyRows[1], dummyRows[1].IsHeaderRow)). Returns(dummyFlexiTableRowBlock2); mockTestSubject. Setup(t => t.CreateFlexiTableRowBlock(dummyType, It.IsAny <BlockProcessor>(), dummyColumnDefinitions, dummyNumColumns, 2, dummyRows[2], dummyRows[2].IsHeaderRow)). Returns(dummyFlexiTableRowBlock3); // Act FlexiTableBlock result = mockTestSubject.Object.CreateFlexiTableBlock(dummyBlockName, dummyType, dummyAttributes, dummyProxyTableBlock, dummyBlockProcessor); // Assert _mockRepository.VerifyAll(); Assert.Equal(dummyBlockName, result.BlockName); Assert.Equal(dummyType, result.Type); Assert.Same(dummyAttributes, result.Attributes); Assert.Same(dummyBlockParser, result.Parser); Assert.Equal(dummyColumn, result.Column); Assert.Equal(dummyLine, result.Line); Assert.Equal(dummyLineStart, result.Span.Start); Assert.Equal(dummyLineEnd, result.Span.End); Assert.Equal(3, result.Count); Assert.Same(dummyFlexiTableRowBlock1, result[0]); Assert.Same(dummyFlexiTableRowBlock2, result[1]); Assert.Same(dummyFlexiTableRowBlock3, result[2]); }
private static FlexiTableRowBlock CreateFlexiTableRowBlock(int numCells = 2, int startNum = 1, bool isHeaderRow = false, int[] colspans = null, int[] rowspans = null, ContentAlignment[] contentAlignments = null) { string cellType = isHeaderRow ? "Header" : "Data"; var result = new FlexiTableRowBlock(isHeaderRow); for (int i = 0; i < numCells; i++) { var cell = new FlexiTableCellBlock(colspans?[i] ?? 0, rowspans?[i] ?? 0, contentAlignments?[i] ?? ContentAlignment.None) { CreateParagraphBlock($"dummy{cellType}Cell{startNum++}") }; result.Add(cell); } return(result); }