public void Given_DelimiterOption_When_FileResultStreamReturned_Then_ContentsIsDelimitedBySpecifiedDelimiter(string expectedDelimiter) { //ARRANGE var peopleWithPrivateData = PersonWithPrivateData.GetFakePeople().ToList(); //ACT var result = peopleWithPrivateData.ToFileStreamResult(options => { options.Delimiter = expectedDelimiter; options.UsePropertyNamesAsHeaders = false; }); //ASSERT var actualBytes = new Byte[result.FileStream.Length]; result.FileStream.Read(actualBytes, 0, actualBytes.Length); var actualLines = Encoding.UTF8.GetString(actualBytes).Split("\r\n"); Assert.AreEqual(peopleWithPrivateData.Count, actualLines.Length); for (var i = 0; i < actualLines.Length; i++) { var actualLineData = actualLines[i].Split(expectedDelimiter); Assert.AreEqual(3, actualLineData.Length); } }
public void Given_ContentTypeOption_When_FileResultStreamReturned_Then_ResultStreamsContentTypeIsSet() { //ARRANGE var peopleWithPrivateData = PersonWithPrivateData.GetFakePeople().ToList(); //ACT var result = peopleWithPrivateData.ToFileStreamResult(options => options.ContentType = "application/ms-excel"); //ASSERT Assert.AreEqual("application/ms-excel", result.ContentType); }
public void Given_FileDownloadNameOption_When_FileResultStreamReturned_Then_ResultStreamsFileDownloadNameIsSet() { //ARRANGE var peopleWithPrivateData = PersonWithPrivateData.GetFakePeople().ToList(); //ACT var result = peopleWithPrivateData.ToFileStreamResult(options => options.FileDownloadName = "Test.csv"); //ASSERT Assert.AreEqual("Test.csv", result.FileDownloadName); }
public void Given_EndOfLineOption_When_FileResultStreamReturned_Then_EndOfLineIsDelimitedBySpecifiedEndOfLineString(string expectedEndOfLine) { //ARRANGE var peopleWithPrivateData = PersonWithPrivateData.GetFakePeople().ToList(); //ACT var result = peopleWithPrivateData.ToFileStreamResult(options => { options.EndOfLine = expectedEndOfLine; options.UsePropertyNamesAsHeaders = false; }); //ASSERT var actualBytes = new Byte[result.FileStream.Length]; result.FileStream.Read(actualBytes, 0, actualBytes.Length); var actualLines = Encoding.UTF8.GetString(actualBytes).Split(expectedEndOfLine); Assert.AreEqual(peopleWithPrivateData.Count, actualLines.Length); }
public void Given_ClassWithNonPublicMembers_When_OutputToFileStream_Then_OnlyPublicPropertiesAreOutput() { //ARRANGE var peopleWithPrivateData = PersonWithPrivateData.GetFakePeople().ToList(); //ACT var result = peopleWithPrivateData.ToFileStreamResult(options => options.UsePropertyNamesAsHeaders = false); //ASSERT var actualBytes = new Byte[result.FileStream.Length]; result.FileStream.Read(actualBytes, 0, actualBytes.Length); var actualLines = Encoding.UTF8.GetString(actualBytes).Split("\r\n"); for (var i = 0; i < actualLines.Length; i++) { var actualLineData = actualLines[i].Split(","); Assert.AreEqual(3, actualLineData.Length); Assert.IsTrue(actualLineData.Contains(peopleWithPrivateData[i].FirstName)); Assert.IsTrue(actualLineData.Contains(peopleWithPrivateData[i].Surname)); Assert.IsTrue(actualLineData.Contains(peopleWithPrivateData[i].Height.ToString())); } }