71 lines
2.1 KiB
C#
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 ---
|
|
}
|
|
}
|