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
Date: Thu, 2 Apr 2015 15:21:42 +0200
Subject: [PATCH 3/6] Added support for guids
---
LINQtoCSV.Tests/CsvContextWriteTests.cs | 14 +++++++-------
LINQtoCSV.Tests/ProductData.cs | 6 +++++-
LINQtoCSV/FieldMapper.cs | 2 +-
LINQtoCSV/Properties/AssemblyInfo.cs | 4 ++--
NuGet/GeneratedPackages/LINQtoCSV.1.5.2.0.nupkg | Bin 0 -> 15504 bytes
5 files changed, 15 insertions(+), 11 deletions(-)
create mode 100644 NuGet/GeneratedPackages/LINQtoCSV.1.5.2.0.nupkg
diff --git a/LINQtoCSV.Tests/CsvContextWriteTests.cs b/LINQtoCSV.Tests/CsvContextWriteTests.cs
index aebc0a1..078ec49 100644
--- a/LINQtoCSV.Tests/CsvContextWriteTests.cs
+++ b/LINQtoCSV.Tests/CsvContextWriteTests.cs
@@ -16,9 +16,9 @@ public void GoodFileCommaDelimitedNamesInFirstLineNLnl()
// Arrange
List dataRows_Test = new List();
- dataRows_Test.Add(new ProductData { retailPrice = 4.59M, name = "Wooden toy", startDate = new DateTime(2008, 2, 1), nbrAvailable = 67 });
- dataRows_Test.Add(new ProductData { onsale = true, weight = 4.03, shopsAvailable = "Ashfield", description = "" });
- dataRows_Test.Add(new ProductData { name = "Metal box", launchTime = new DateTime(2009, 11, 5, 4, 50, 0), description = "Great\nproduct" });
+ dataRows_Test.Add(new ProductData { id = Guid.NewGuid(), retailPrice = 4.59M, name = "Wooden toy", startDate = new DateTime(2008, 2, 1), nbrAvailable = 67 });
+ dataRows_Test.Add(new ProductData { id = Guid.NewGuid(), onsale = true, weight = 4.03, shopsAvailable = "Ashfield", description = "" });
+ dataRows_Test.Add(new ProductData { id = Guid.NewGuid(), name = "Metal box", launchTime = new DateTime(2009, 11, 5, 4, 50, 0), description = "Great\nproduct" });
CsvFileDescription fileDescription_namesNl2 = new CsvFileDescription
{
@@ -30,11 +30,11 @@ public void GoodFileCommaDelimitedNamesInFirstLineNLnl()
};
string expected =
-@"name,startDate,launchTime,weight,shopsAvailable,code,price,onsale,description,nbrAvailable,unusedField
-Wooden toy,1-2-2008,01 jan 00:00:00,""000,000"",,0,""€ 4,59"",False,,67,
-,1-1-0001,01 jan 00:00:00,""004,030"",Ashfield,0,""€ 0,00"",True,"""",0,
+@"name,startDate,launchTime,weight,shopsAvailable,code,price,onsale,description,id,nbrAvailable,unusedField
+Wooden toy,1-2-2008,01 jan 00:00:00,""000,000"",,0,""€ 4,59"",False,," + dataRows_Test[0].id + @",67,
+,1-1-0001,01 jan 00:00:00,""004,030"",Ashfield,0,""€ 0,00"",True,""""," + dataRows_Test[1].id + @",0,
Metal box,1-1-0001,05 nov 04:50:00,""000,000"",,0,""€ 0,00"",False,""Great
-product"",0,
+product""," + dataRows_Test[2].id + @",0,
";
// Act and Assert
diff --git a/LINQtoCSV.Tests/ProductData.cs b/LINQtoCSV.Tests/ProductData.cs
index f9103a4..5ff481f 100644
--- a/LINQtoCSV.Tests/ProductData.cs
+++ b/LINQtoCSV.Tests/ProductData.cs
@@ -56,7 +56,10 @@ internal class ProductData : IAssertable
public decimal retailPrice { get; set; }
[CsvColumn(FieldIndex = 30)]
- public string description;
+ public string description;
+
+ [CsvColumn(FieldIndex = 40)]
+ public Guid id;
#pragma warning restore 0169, 0414, 0649
@@ -74,6 +77,7 @@ public void AssertEqual(ProductData other)
Assert.AreEqual(other.onsale, onsale, "onsale");
Assert.AreEqual(other.retailPrice, retailPrice, "retailPrice");
Assert.AreEqual(Utils.NormalizeString(other.description), Utils.NormalizeString(description), "description");
+ Assert.AreEqual(other.id, id, "id");
}
}
}
diff --git a/LINQtoCSV/FieldMapper.cs b/LINQtoCSV/FieldMapper.cs
index b13e8a6..ffc2978 100644
--- a/LINQtoCSV/FieldMapper.cs
+++ b/LINQtoCSV/FieldMapper.cs
@@ -340,7 +340,7 @@ public void WriteObject(T obj, List row)
string resultString = null;
if (objValue != null)
{
- if ((objValue is IFormattable))
+ if ((objValue is IFormattable) && !(objValue is Guid))
{
resultString =
((IFormattable)objValue).ToString(
diff --git a/LINQtoCSV/Properties/AssemblyInfo.cs b/LINQtoCSV/Properties/AssemblyInfo.cs
index 0779ce6..1b16123 100644
--- a/LINQtoCSV/Properties/AssemblyInfo.cs
+++ b/LINQtoCSV/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.5.1.0")]
-[assembly: AssemblyFileVersion("1.5.1.0")]
+[assembly: AssemblyVersion("1.5.2.0")]
+[assembly: AssemblyFileVersion("1.5.2.0")]
diff --git a/NuGet/GeneratedPackages/LINQtoCSV.1.5.2.0.nupkg b/NuGet/GeneratedPackages/LINQtoCSV.1.5.2.0.nupkg
new file mode 100644
index 0000000000000000000000000000000000000000..bb1a90b9dbd090128bbdf5b32746e52958bd8d39
GIT binary patch
literal 15504
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
VMHv{_-(oP}UoY_Td*S=t`aj_XMP2{^
literal 0
HcmV?d00001
From 8debbfbdc1ec5fdd39cebd72324b7af90b96f21a Mon Sep 17 00:00:00 2001
From: Fabian de Groot
Date: Wed, 22 Apr 2015 12:32:58 +0200
Subject: [PATCH 4/6] Replaced VS UnitTestFramework with NUnit
---
.gitignore | 2 +-
LINQtoCSV.Tests/CsvContextReadTests.cs | 24 ++---
LINQtoCSV.Tests/CsvContextWriteTests.cs | 52 +++++----
LINQtoCSV.Tests/LINQtoCSV.Tests.csproj | 7 +-
LINQtoCSV.Tests/Person.cs | 2 +-
LINQtoCSV.Tests/ProductData.cs | 102 +++++++++---------
.../ProductDataSpecificFieldIndex.cs | 2 +-
LINQtoCSV.Tests/Test.cs | 2 +-
LINQtoCSV.Tests/packages.config | 4 +
9 files changed, 102 insertions(+), 95 deletions(-)
create mode 100644 LINQtoCSV.Tests/packages.config
diff --git a/.gitignore b/.gitignore
index b9d6bd9..4ead766 100644
--- a/.gitignore
+++ b/.gitignore
@@ -130,7 +130,7 @@ publish/
# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
-#packages/
+packages/
# Windows Azure Build Output
csx
diff --git a/LINQtoCSV.Tests/CsvContextReadTests.cs b/LINQtoCSV.Tests/CsvContextReadTests.cs
index 925829b..4a88129 100644
--- a/LINQtoCSV.Tests/CsvContextReadTests.cs
+++ b/LINQtoCSV.Tests/CsvContextReadTests.cs
@@ -1,15 +1,15 @@
using LINQtoCSV;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.IO;
using System.Collections.Generic;
+using NUnit.Framework;
namespace LINQtoCSV.Tests
{
- [TestClass()]
+ [TestFixture]
public class CsvContextReadTests : Test
{
- [TestMethod()]
+ [Test]
public void GoodFileUsingOutputFormatForParsingDatesCharUSEnglish()
{
// Arrange
@@ -45,7 +45,7 @@ public void GoodFileUsingOutputFormatForParsingDatesCharUSEnglish()
AssertRead(testInput, fileDescription_namesUs, expected);
}
- [TestMethod()]
+ [Test]
public void GoodFileNoSeparatorCharUseOutputFormatForParsingUSEnglish()
{
// Arrange
@@ -81,7 +81,7 @@ public void GoodFileNoSeparatorCharUseOutputFormatForParsingUSEnglish()
AssertRead(testInput, fileDescription_namesUs, expected);
}
- [TestMethod()]
+ [Test]
public void GoodFileNoSeparatorCharUSEnglish()
{
// Arrange
@@ -117,7 +117,7 @@ public void GoodFileNoSeparatorCharUSEnglish()
AssertRead(testInput, fileDescription_namesUs, expected);
}
- [TestMethod()]
+ [Test]
public void GoodFileCommaDelimitedUseFieldIndexForReadingDataCharUSEnglish()
{
// Arrange
@@ -154,7 +154,7 @@ public void GoodFileCommaDelimitedUseFieldIndexForReadingDataCharUSEnglish()
AssertRead(testInput, fileDescription_namesUs, expected);
}
- [TestMethod()]
+ [Test]
public void GoodFileCommaDelimitedUseFieldIndexForReadingDataCharUseOutputFormatForParsingUSEnglish()
{
// Arrange
@@ -194,7 +194,7 @@ public void GoodFileCommaDelimitedUseFieldIndexForReadingDataCharUseOutputFormat
}
- [TestMethod()]
+ [Test]
public void GoodFileCommaDelimitedNamesInFirstLineUSEnglish()
{
// Arrange
@@ -242,7 +242,7 @@ and a quoted ""string"""
AssertRead(testInput, fileDescription_namesUs, expected);
}
- [TestMethod()]
+ [Test]
public void GoodFileTabDelimitedNoNamesInFirstLineNLnl()
{
// Arrange
@@ -283,7 +283,7 @@ and a quoted ""string"""
AssertRead(testInput, fileDescription_nonamesNl, expected);
}
- [TestMethod()]
+ [Test]
public void GoodFileCommaDelimitedWithTrailingSeparatorChars()
{
// Arrange
@@ -332,7 +332,7 @@ and a quoted ""string"""
AssertRead(testInput, fileDescription_namesUs, expected);
}
- [TestMethod()]
+ [Test]
public void FileWithUnknownColumns_ShouldDiscardColumns() {
var description = new CsvFileDescription
{
@@ -368,7 +368,7 @@ public void FileWithUnknownColumns_ShouldDiscardColumns() {
}
- [TestMethod()]
+ [Test]
public void FileWithTrailingEmptyColumns_ShouldDiscardColumns()
{
var description = new CsvFileDescription {
diff --git a/LINQtoCSV.Tests/CsvContextWriteTests.cs b/LINQtoCSV.Tests/CsvContextWriteTests.cs
index 078ec49..1f66c37 100644
--- a/LINQtoCSV.Tests/CsvContextWriteTests.cs
+++ b/LINQtoCSV.Tests/CsvContextWriteTests.cs
@@ -1,35 +1,33 @@
-using LINQtoCSV;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using System;
-using System.IO;
+using System;
using System.Collections.Generic;
using System.Text;
+using NUnit.Framework;
namespace LINQtoCSV.Tests
{
- [TestClass()]
- public class CsvContextWriteTests : Test
- {
- [TestMethod()]
- public void GoodFileCommaDelimitedNamesInFirstLineNLnl()
- {
- // Arrange
+ [TestFixture]
+ public class CsvContextWriteTests : Test
+ {
+ [Test]
+ public void GoodFileCommaDelimitedNamesInFirstLineNLnl()
+ {
+ // Arrange
- List dataRows_Test = new List();
- dataRows_Test.Add(new ProductData { id = Guid.NewGuid(), retailPrice = 4.59M, name = "Wooden toy", startDate = new DateTime(2008, 2, 1), nbrAvailable = 67 });
+ List dataRows_Test = new List();
+ dataRows_Test.Add(new ProductData { id = Guid.NewGuid(), retailPrice = 4.59M, name = "Wooden toy", startDate = new DateTime(2008, 2, 1), nbrAvailable = 67 });
dataRows_Test.Add(new ProductData { id = Guid.NewGuid(), onsale = true, weight = 4.03, shopsAvailable = "Ashfield", description = "" });
dataRows_Test.Add(new ProductData { id = Guid.NewGuid(), name = "Metal box", launchTime = new DateTime(2009, 11, 5, 4, 50, 0), description = "Great\nproduct" });
- CsvFileDescription fileDescription_namesNl2 = new CsvFileDescription
- {
- SeparatorChar = ',',
- FirstLineHasColumnNames = true,
- EnforceCsvColumnAttribute = false,
- TextEncoding = Encoding.Unicode,
- FileCultureName = "nl-Nl" // default is the current culture
- };
+ CsvFileDescription fileDescription_namesNl2 = new CsvFileDescription
+ {
+ SeparatorChar = ',',
+ FirstLineHasColumnNames = true,
+ EnforceCsvColumnAttribute = false,
+ TextEncoding = Encoding.Unicode,
+ FileCultureName = "nl-Nl" // default is the current culture
+ };
- string expected =
+ string expected =
@"name,startDate,launchTime,weight,shopsAvailable,code,price,onsale,description,id,nbrAvailable,unusedField
Wooden toy,1-2-2008,01 jan 00:00:00,""000,000"",,0,""€ 4,59"",False,," + dataRows_Test[0].id + @",67,
,1-1-0001,01 jan 00:00:00,""004,030"",Ashfield,0,""€ 0,00"",True,""""," + dataRows_Test[1].id + @",0,
@@ -37,9 +35,9 @@ public void GoodFileCommaDelimitedNamesInFirstLineNLnl()
product""," + dataRows_Test[2].id + @",0,
";
- // Act and Assert
+ // Act and Assert
- AssertWrite(dataRows_Test, fileDescription_namesNl2, expected);
- }
- }
-}
+ AssertWrite(dataRows_Test, fileDescription_namesNl2, expected);
+ }
+ }
+}
\ No newline at end of file
diff --git a/LINQtoCSV.Tests/LINQtoCSV.Tests.csproj b/LINQtoCSV.Tests/LINQtoCSV.Tests.csproj
index 38d8f6b..1dd2654 100644
--- a/LINQtoCSV.Tests/LINQtoCSV.Tests.csproj
+++ b/LINQtoCSV.Tests/LINQtoCSV.Tests.csproj
@@ -33,7 +33,9 @@
4
-
+
+ ..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
3.5
@@ -68,6 +70,9 @@
LINQtoCSV
+
+
+