public static void Pad_FlatRow___Should_return_same_row___When_row_spans_required_number_of_columns()
        {
            // Arrange
            var expected1 = new FlatRow(
                new[] { new NullCell() });

            var expected2 = new FlatRow(
                new[]
            {
                new NullCell(columnsSpanned: 2),
                new NullCell(columnsSpanned: 3),
            });

            // Act
            var actual1  = expected1.Pad(1);
            var actual2a = expected2.Pad(1);
            var actual2b = expected2.Pad(4);
            var actual2c = expected2.Pad(5);

            // Assert
            actual1.AsTest().Must().BeSameReferenceAs(expected1);
            actual2a.AsTest().Must().BeSameReferenceAs(expected2);
            actual2b.AsTest().Must().BeSameReferenceAs(expected2);
            actual2c.AsTest().Must().BeSameReferenceAs(expected2);
        }
 private static void AddFlatRow(
     this CellCursor cursor,
     FlatRow flatRow,
     ReportToWorkbookProjectionContext context,
     PassKind passKind)
 {
     cursor.AddRowBase(flatRow, context, passKind);
 }
        private static FlatRow BuildFlatRow(
            int numberOfColumns,
            bool allowSpanningCells)
        {
            var cells = BuildRowCells(numberOfColumns, allowSpanningCells);

            var result = new FlatRow(cells, A.Dummy <string>(), A.Dummy <RowFormat>());

            return(result);
        }
Example #4
0
        public static void ToFlatRow___Should_return_single_cell_FlatRow___When_called()
        {
            // Arrange
            var id     = A.Dummy <string>();
            var cell   = A.Dummy <ICell>();
            var format = A.Dummy <RowFormat>();

            var expected = new FlatRow(new[] { cell }, id, format);

            // Act
            var actual = cell.ToFlatRow(id, format);

            // Assert
            actual.AsTest().Must().BeEqualTo(expected);
        }
        public static void Pad_FlatRow___Should_return_padded_row___When_row_spans_less_than_required_number_of_columns()
        {
            // Arrange
            var row1 = new FlatRow(
                new[] { new NullCell() });

            var expected1 = new FlatRow(
                new[] { new NullCell(), new NullCell() });

            var row2 = new FlatRow(
                new[] { new NullCell(columnsSpanned: 2) });

            var expected2a = new FlatRow(
                new[] { new NullCell(columnsSpanned: 2), new NullCell() });

            var expected2b = new FlatRow(
                new[] { new NullCell(columnsSpanned: 2), new NullCell(), new NullCell() });

            var row3 = new FlatRow(
                new[] { new NullCell(columnsSpanned: 2), new NullCell(columnsSpanned: 3) });

            var expected3 = new FlatRow(
                new[] { new NullCell(columnsSpanned: 2), new NullCell(columnsSpanned: 3), new NullCell(), new NullCell(), new NullCell(), new NullCell() });

            // Act
            var actual1  = row1.Pad(2);
            var actual2a = row2.Pad(3);
            var actual2b = row2.Pad(4);
            var actual3  = row3.Pad(9);

            // Assert
            actual1.AsTest().Must().BeEqualTo(expected1);
            actual2a.AsTest().Must().BeEqualTo(expected2a);
            actual2b.AsTest().Must().BeEqualTo(expected2b);
            actual3.AsTest().Must().BeEqualTo(expected3);
        }
Example #6
0
        static FlatRowTest()
        {
            ConstructorArgumentValidationTestScenarios
            .RemoveAllScenarios()
            .AddScenario(() =>
                         new ConstructorArgumentValidationTestScenario <FlatRow>
            {
                Name             = "constructor should throw ArgumentNullException when parameter 'cells' is null scenario",
                ConstructionFunc = () =>
                {
                    var referenceObject = A.Dummy <FlatRow>();

                    var result = new FlatRow(
                        null,
                        referenceObject.Id,
                        referenceObject.Format);

                    return(result);
                },
                ExpectedExceptionType            = typeof(ArgumentNullException),
                ExpectedExceptionMessageContains = new[] { "cells", },
            })
            .AddScenario(() =>
                         new ConstructorArgumentValidationTestScenario <FlatRow>
            {
                Name             = "constructor should throw ArgumentException when parameter 'cells' is an empty enumerable scenario",
                ConstructionFunc = () =>
                {
                    var referenceObject = A.Dummy <FlatRow>();

                    var result = new FlatRow(
                        new List <ICell>(),
                        referenceObject.Id,
                        referenceObject.Format);

                    return(result);
                },
                ExpectedExceptionType            = typeof(ArgumentException),
                ExpectedExceptionMessageContains = new[] { "cells", "is an empty enumerable", },
            })
            .AddScenario(() =>
                         new ConstructorArgumentValidationTestScenario <FlatRow>
            {
                Name             = "constructor should throw ArgumentException when parameter 'cells' contains a null element scenario",
                ConstructionFunc = () =>
                {
                    var referenceObject = A.Dummy <FlatRow>();

                    var result = new FlatRow(
                        new ICell[0].Concat(referenceObject.Cells).Concat(new ICell[] { null }).Concat(referenceObject.Cells).ToList(),
                        referenceObject.Id,
                        referenceObject.Format);

                    return(result);
                },
                ExpectedExceptionType            = typeof(ArgumentException),
                ExpectedExceptionMessageContains = new[] { "cells", "contains at least one null element", },
            })
            .AddScenario(() =>
                         new ConstructorArgumentValidationTestScenario <FlatRow>
            {
                Name             = "constructor should throw ArgumentException when parameter 'id' is white space scenario",
                ConstructionFunc = () =>
                {
                    var referenceObject = A.Dummy <FlatRow>();

                    var result = new FlatRow(
                        referenceObject.Cells,
                        Invariant($"  {Environment.NewLine}  "),
                        referenceObject.Format);

                    return(result);
                },
                ExpectedExceptionType            = typeof(ArgumentException),
                ExpectedExceptionMessageContains = new[] { "id", "white space", },
            });
        }