public void ExportProductsToXlsx_ReturnFilledStreamWithCorrecctStructure() { var products = new List <Product>() { new Product { Id = "id1", ProductTypeId = ProductType.Auction, Name = "name1" }, new Product { Id = "id2", ProductTypeId = ProductType.SimpleProduct, Name = "name2" } }; var result = _exportManager.ExportProductsToXlsx(products); Assert.IsTrue(result.Length > 0); using (var ms = new MemoryStream(result)) { XSSFWorkbook s = new XSSFWorkbook(ms); var sheet = s.GetSheet("Product"); var row1 = sheet.GetRow(0); var row2 = sheet.GetRow(1); var row3 = sheet.GetRow(2); Assert.IsNotNull(sheet); Assert.IsNotNull(row1); Assert.IsNotNull(row2); //row1 should contains header- property name Assert.AreEqual(row1.GetCell(0).StringCellValue, "Id"); Assert.AreEqual(row1.GetCell(1).StringCellValue, "ProductTypeId"); Assert.AreEqual(row2.GetCell(0).StringCellValue, "id1"); Assert.AreEqual(row2.GetCell(1).StringCellValue, "Auction"); Assert.AreEqual(row3.GetCell(0).StringCellValue, "id2"); Assert.AreEqual(row3.GetCell(1).StringCellValue, "SimpleProduct"); } }