using System; using System.Collections.Generic; using NUnit.Framework; using Sarand.Net.Standard.Base.Data; namespace Sacs.UnitTests.Net.Standard.Base.Data { [TestFixture] public class SacsCsvHandler_Tester { // --- Tests --- [Test] public void ParseCsvRecord_FieldCount () { Assert.That(SacsCsvHandler.ParseCsvRecord(null).Count, Is.EqualTo(0)); Assert.That(SacsCsvHandler.ParseCsvRecord("").Count, Is.EqualTo(1)); Assert.That(SacsCsvHandler.ParseCsvRecord(",").Count, Is.EqualTo(2)); Assert.That(SacsCsvHandler.ParseCsvRecord("A,B,C").Count, Is.EqualTo(3)); Assert.That(SacsCsvHandler.ParseCsvRecord("A,B,C,D,E").Count, Is.EqualTo(5)); } [Test] public void ParseCsvRecord_Simple_NoText () { String data = "A,B,C"; List fields = SacsCsvHandler.ParseCsvRecord(data); Assert.That(fields.Count, Is.EqualTo(3)); Assert.That(fields[1], Is.EqualTo("B")); } [Test] public void ParseCsvRecord_Text_Simple () { List fields = SacsCsvHandler.ParseCsvRecord("A,\"B\",C"); Assert.That(fields.Count, Is.EqualTo(3)); Assert.That(fields[0], Is.EqualTo("A")); Assert.That(fields[1], Is.EqualTo("B")); Assert.That(fields[2], Is.EqualTo("C")); fields = SacsCsvHandler.ParseCsvRecord("A,\"B\",\"C\""); Assert.That(fields.Count, Is.EqualTo(3)); Assert.That(fields[0], Is.EqualTo("A")); Assert.That(fields[1], Is.EqualTo("B")); Assert.That(fields[2], Is.EqualTo("C")); } [Test] public void ParseCsvRecord_Text_WithFieldDelim () { List fields = SacsCsvHandler.ParseCsvRecord("A,\",\",C"); Assert.That(fields.Count, Is.EqualTo(3)); Assert.That(fields[0], Is.EqualTo("A")); Assert.That(fields[1], Is.EqualTo(",")); Assert.That(fields[2], Is.EqualTo("C")); } [Test] public void ParseCsvRecord_Text_EmbeddedTextDelims () { List fields = SacsCsvHandler.ParseCsvRecord("A,\"\"\"\",C"); Assert.That(fields.Count, Is.EqualTo(3)); Assert.That(fields[0], Is.EqualTo("A")); Assert.That(fields[1], Is.EqualTo("\"")); Assert.That(fields[2], Is.EqualTo("C")); } // --- The End --- } }