Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changes

## 2.2.0.0

* BREAKING CHANGE: Open method has been introduced for csv reader and writer

## 2.1.1.0

* Async/Await operations has been introduced

## 2.1.0.0

* Ported to .NETStandart 2.0
Expand Down
4 changes: 4 additions & 0 deletions LibCSV.Tests.NetFramework/ReaderBaseTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ public static void ReadTest(string input, IList<IList<object>> expect, Dialect d
IList<IList<object>> results = new List<IList<object>>();
using (var reader = new CSVReader(dialect, new StringReader(input)))
{
reader.Open();

while (reader.Next())
{
var record = reader.Current;
Expand All @@ -62,6 +64,8 @@ public static async Task ReadTestAsync(string input, IList<IList<object>> expect
IList<IList<object>> results = new List<IList<object>>();
using (var reader = new CSVReader(dialect, new StringReader(input)))
{
await reader.OpenAsync();

while (await reader.NextAsync())
{
var record = reader.Current;
Expand Down
10 changes: 10 additions & 0 deletions LibCSV.Tests.NetFramework/ReaderTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ public void Next_FirstLine_HeadersArePopulated()
{
using (var reader = new CSVReader(dialect, new StringReader("a,b,c")))
{
reader.Open();

reader.Next();
var current = reader.Current;

Expand All @@ -54,6 +56,8 @@ public async Task NextAsync_FirstLine_HeadersArePopulated()
{
using (var reader = new CSVReader(dialect, new StringReader("a,b,c")))
{
reader.Open();

await reader.NextAsync();
var current = reader.Current;

Expand Down Expand Up @@ -379,6 +383,8 @@ public void Next_WithHeaders_HeadersAreInitialized()
{
using (var reader = new CSVReader(dialect, new StringReader(input)))
{
reader.Open();

IsNotNull(reader.Headers);
}
}
Expand All @@ -392,6 +398,8 @@ public void Next_EmptyLine_NextReturnsFalse()
{
using (var reader = new CSVReader(dialect, new StringReader(input)))
{
reader.Open();

IsTrue(reader.Next());
IsFalse(reader.Next());
}
Expand All @@ -406,6 +414,8 @@ public async Task NextAsync_EmptyLine_NextReturnsFalse()
{
using (var reader = new CSVReader(dialect, new StringReader(input)))
{
await reader.OpenAsync();

IsTrue(await reader.NextAsync());
IsFalse(await reader.NextAsync());
}
Expand Down
13 changes: 12 additions & 1 deletion LibCSV.Tests.NetFramework/WriterTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ public void WriteRow_QuoteAll_Quoted()
var dialect = new Dialect(true, ';', '\"', '\\', true, "\r\n", QuoteStyle.QuoteAll, false, false);
using (var csvWriter = new CSVWriter(dialect, writer))
{
csvWriter.Open();
csvWriter.WriteRow(row);
}

Expand All @@ -121,6 +122,7 @@ public async Task WriteRowAsync_QuoteAll_Quoted()
var dialect = new Dialect(true, ';', '\"', '\\', true, "\r\n", QuoteStyle.QuoteAll, false, false);
using (var csvWriter = new CSVWriter(dialect, writer))
{
await csvWriter.OpenAsync();
await csvWriter.WriteRowAsync(row);
}

Expand All @@ -141,6 +143,7 @@ public void WriteRow_EscapeStrings_Escaped()
var dialect = new Dialect(true, ';', '\"', '\\', true, "\r\n", QuoteStyle.QuoteAll, false, false);
using (var csvWriter = new CSVWriter(dialect, writer))
{
csvWriter.Open();
csvWriter.WriteRow(row);
}

Expand All @@ -161,6 +164,7 @@ public async Task WriteRowAsync_EscapeStrings_Escaped()
var dialect = new Dialect(true, ';', '\"', '\\', true, "\r\n", QuoteStyle.QuoteAll, false, false);
using (var csvWriter = new CSVWriter(dialect, writer))
{
await csvWriter.OpenAsync();
await csvWriter.WriteRowAsync(row);
}

Expand All @@ -181,6 +185,7 @@ public void WriteRow_DoNotEscapeStrings_NotEscaped()
var dialect = new Dialect(false, ';', '\"', '\\', true, "\r\n", QuoteStyle.QuoteAll, false, false);
using (var csvWriter = new CSVWriter(dialect, writer))
{
csvWriter.Open();
csvWriter.WriteRow(row);
}

Expand All @@ -201,6 +206,7 @@ public async Task WriteRowAsync_DoNotEscapeStrings_NotEscaped()
var dialect = new Dialect(false, ';', '\"', '\\', true, "\r\n", QuoteStyle.QuoteAll, false, false);
using (var csvWriter = new CSVWriter(dialect, writer))
{
await csvWriter.OpenAsync();
await csvWriter.WriteRowAsync(row);
}

Expand Down Expand Up @@ -294,7 +300,9 @@ public void WriteRow_RowIsNull_ThrowsRowIsNullOrEmptyException()
{
using (var writer = new CSVWriter(dialect, stringWriter))
{
writer.WriteRow(null);
writer.Open();

writer.WriteRow(null);
}
}
}
Expand All @@ -312,6 +320,7 @@ public void WriteRowAsync_RowIsNull_ThrowsRowIsNullOrEmptyException()
{
using (var writer = new CSVWriter(dialect, stringWriter))
{
await writer.OpenAsync();
await writer.WriteRowAsync(null);
}
}
Expand Down Expand Up @@ -370,6 +379,7 @@ private void WriteAndTestRow(object[] input, string output, Dialect dialect, Cul
{
using (var csvWriter = new CSVWriter(dialect, writer, culture))
{
csvWriter.Open();
csvWriter.WriteRow(input);
}

Expand Down Expand Up @@ -400,6 +410,7 @@ private async Task WriteAndTestRowAsync(object[] input, string output, Dialect d
{
using (var csvWriter = new CSVWriter(dialect, writer, culture))
{
await csvWriter.OpenAsync();
await csvWriter.WriteRowAsync(input);
}

Expand Down
7 changes: 7 additions & 0 deletions LibCSV/CSVAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ public IEnumerable ReadAll(IDataTransformer transformer)

try
{
reader.Open();

string[] aliases = null;
if (_dialect.HasHeader)
{
Expand Down Expand Up @@ -111,6 +113,8 @@ public async Task<IEnumerable> ReadAllAsync(IDataTransformer transformer)

try
{
await reader.OpenAsync();

string[] aliases = null;
if (_dialect.HasHeader)
{
Expand Down Expand Up @@ -145,6 +149,7 @@ public void WriteAll(IEnumerable data, IDataTransformer transformer)

try
{
writer.Open();

var cellCount = -1;

Expand Down Expand Up @@ -189,6 +194,8 @@ public async Task WriteAllAsync(IEnumerable data, IDataTransformer transformer)

try
{
await writer.OpenAsync();

var cellCount = -1;
if (_dialect.HasHeader && _headers != null && _headers.Length > 0)
{
Expand Down
Loading