public void AddEmptyColumn_WhenCalled_ReturnsSameInstanceOfColumnValueAppender()
        {
            IColumnValueAppender sut = CreateSut();

            IColumnValueAppender result = sut.AddEmptyColumn();

            Assert.That(result, Is.SameAs(sut));
        }
        public void AddEmptyColumn_WhenCalled_ReturnsMyColumnValueAppender()
        {
            IColumnValueAppender sut = CreateSut();

            IColumnValueAppender result = sut.AddEmptyColumn();

            Assert.That(result, Is.TypeOf <MyColumnValueAppender>());
        }
        public void AddEmptyColumn_WhenCalled_AssertColumnWithEmptyValueHasBeenAdded()
        {
            IColumnValueAppender sut = CreateSut();

            IColumnValueAppender result = sut.AddEmptyColumn();

            Assert.That(result.ColumnValues.ElementAt(0), Is.EqualTo(string.Empty));
        }
        public void AddEmptyColumn_WhenCalledMultipleTimes_AssertEmptyColumnHasBeenAddedForEachCall()
        {
            IColumnValueAppender sut = CreateSut();

            int times = _random.Next(5, 10);

            for (int i = 0; i < times; i++)
            {
                sut = sut.AddEmptyColumn();
            }

            Assert.That(sut.ColumnValues.Count(), Is.EqualTo(times));
            Assert.That(sut.ColumnValues.All(columnValue => string.CompareOrdinal(columnValue, string.Empty) == 0), Is.True);
        }