public void GetStringReport_WhenCalled_ReturningEmptyLines(string splitter) { List <dynamic> data = new List <dynamic> { new Dictionary <string, object>() { ["user"] = "******", ["age"] = 30, ["sex"] = null }, new Dictionary <string, object> { ["user"] = null, ["age"] = null, ["sex"] = "male" }, new Dictionary <string, object> { ["user"] = "******", ["age"] = 10000, ["sex"] = "male" } }; var expected = $"user{splitter}age{splitter}sex{Environment.NewLine}" + $"james{splitter}30{splitter}{splitter}{Environment.NewLine}" + $"{splitter}{splitter}male{splitter}{Environment.NewLine}" + $"mr.popo{splitter}10000{splitter}male{splitter}"; var result = CsvGenerator.GetStringReport(data, splitter); result.Should().Be(expected); }