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);
        }
示例#3
0
        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();
        }