public void ShouldThrowExceptionWhenWrongColumnNumber()
        {
            Action action = () => _ = new PipeDelimitedFile(_input2)
                                      .SkipNRows(1)
                                      .GetData <Contact>().ToList();
            var e = Assert.ThrowsException <IndexOutOfRangeException>(action);

            Assert.AreEqual("Index was outside the bounds of the array. DataRow: Johnson|ABC|[email protected]", e.Message);
        }
        public void ShouldConvertToString()
        {
            var dataString = new PipeDelimitedFile(_input)
                             .SkipNRows(1)
                             .GetData <Contact>().AsPipedString();
            var result1 = File.ReadAllLines(_input).ToArray();
            var result2 = dataString.Split(Environment.NewLine).Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();

            CollectionAssert.AreEqual(result2, result1);
        }
        public void ShouldReadAndWritePipeDelimitedFileCorrectly()
        {
            var data = new PipeDelimitedFile(_input)
                       .SkipNRows(1)
                       .GetData <Contact>();

            data.WriteToPipeDelimitedFile(_output);
            var result1 = File.ReadAllLines(_input);
            var result2 = File.ReadAllLines(_output);

            CollectionAssert.AreEqual(result2, result1);
        }