Files
Common-VS2019/SacsCoreUnitTests/Standard/Base/Data/SacsCsvHandler_Tester.cs
T

71 lines
2.1 KiB
C#

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<String> 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<String> 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<String> 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<String> 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 ---
}
}