public void AddLine_WhenWhitespaceChar_Removed(string testInput, string cleaned) { // Arrange var expected = $"{cleaned};{Environment.NewLine}"; var vsinstance = new AzureDevOpsInstance(); vsinstance.Collections.Add(new AzureDevOpsCollection { Name = testInput }); var systemUnderTest = new CsvTestClass(); // Act var actual = systemUnderTest.Generate(vsinstance); // Assert actual.Should().Be(expected); }
public void AddLine_WhenUsingSeperatorChar_EscapingHappens() { // Arrange var expectedReport = $"\"Test;Name\";{Environment.NewLine}"; var textString = "Test;Name"; var vsinstance = new AzureDevOpsInstance(); vsinstance.Collections.Add(new AzureDevOpsCollection { Name = textString }); var systemUnderTest = new CsvTestClass(); // Act var actual = systemUnderTest.Generate(vsinstance); // Assert actual.Should().Be(expectedReport); }
public void TestTimeSpanRoundTrip() { int randomDataCount = 30; var random = TestHelpers.Random.GetRandom(); // we'll create 30 timespans, across 30 orders of magnitude to test all possible versions of timespan // encoding var data = new CsvTestClass[randomDataCount]; for (int i = 0; i < data.Length; i++) { var ticks = Math.Pow(i, 10) * random.NextDouble(); data[i] = new CsvTestClass { SomeNumber = random.Next(), SomeTimeSpan = TimeSpan.FromTicks((long)ticks), }; } var file = new FileInfo("testCsvRoundTrip.csv"); Csv.WriteToCsv(file, data); var actual = Csv.ReadFromCsv <CsvTestClass>(file).ToArray(); Assert.AreEqual(30, actual.Length); for (var i = 0; i < data.Length; i++) { var expectedRow = data[i]; var actualRow = actual[i]; Assert.AreEqual(expectedRow.SomeNumber, actualRow.SomeNumber); Assert.AreEqual(expectedRow.SomeTimeSpan.Ticks, actualRow.SomeTimeSpan.Ticks); } file.Delete(); }