Exemplo n.º 1
0
        /// <summary>
        /// Write a body to a file.
        /// </summary>
        /// <param name="file">Path to CSV file.</param>
        /// <param name="body">CSV file body to write.</param>
        /// <param name="existingHasHeader">True the existing CSV file has a header; otherwise does not have a header.</param>
        /// <exception cref="T:System.ArgumentNullException"><paramref name="body" /> is null.</exception>
        public void WriteBody(string file, CsvFileBody body, bool existingHasHeader = true)
        {
            if (body == null)
            {
                throw new ArgumentNullException(nameof(body));
            }

            if (!body.HasLines)
            {
                return;
            }

            CsvFileLine header = null;

            if (existingHasHeader)
            {
                header = ReadHeader(file);
            }

            using (var writer = new StreamWriter(file))
            {
                if (header != null)
                {
                    writer.WriteLine(header);
                }

                foreach (var line in body.Lines)
                {
                    writer.WriteLine(line.Line);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Reads the entire file into a <see cref="CsvFile"/> object.
        /// </summary>
        /// <param name="file">Path to CSV file.</param>
        /// <param name="options">File reading options.</param>
        /// <returns><see cref="ByteDev.Csv.CsvFile"/> object.</returns>
        /// <exception cref="T:System.ArgumentNullException"><paramref name="options" /> is null.</exception>
        public CsvFile ReadFile(string file, CsvFileReaderOptions options)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var header = options.HasHeader ? ReadHeader(file) : null;
            var body   = new CsvFileBody {
                Lines = ReadBody(file, options)
            };

            return(new CsvFile(header, body));
        }
Exemplo n.º 3
0
 private static void AssertBodySecondLine(CsvFileBody body)
 {
     Assert.That(body.Lines.Second().Line, Is.EqualTo(Line2.Line));
 }
Exemplo n.º 4
0
 private static void AssertBodyFirstLine(CsvFileBody body)
 {
     Assert.That(body.Lines.First().Line, Is.EqualTo(Line1.Line));
 }
Exemplo n.º 5
0
 private void Act(CsvFileBody body)
 {
     _sut.WriteBody(_file, body);
 }
Exemplo n.º 6
0
 public void SetUp()
 {
     _sut = new CsvFileBody();
 }