public void Test48832() { HSSFWorkbook wb = new HSSFWorkbook(); // Starts empty Assert.IsNull(wb.DocumentSummaryInformation); Assert.IsNull(wb.SummaryInformation); // Add new properties wb.CreateInformationProperties(); Assert.IsNotNull(wb.DocumentSummaryInformation); Assert.IsNotNull(wb.SummaryInformation); // Set Initial values wb.SummaryInformation.Author = (/*setter*/ "Apache POI"); wb.SummaryInformation.Keywords = (/*setter*/ "Testing POI"); wb.SummaryInformation.CreateDateTime = DateUtil.GetJavaDate(12345); wb.DocumentSummaryInformation.Company = (/*setter*/ "Apache"); // Save and reload MemoryStream baos = new MemoryStream(); wb.Write(baos); MemoryStream bais = new MemoryStream(baos.ToArray()); wb = new HSSFWorkbook(bais); // Ensure Changes were taken Assert.IsNotNull(wb.DocumentSummaryInformation); Assert.IsNotNull(wb.SummaryInformation); Assert.AreEqual("Apache POI", wb.SummaryInformation.Author); Assert.AreEqual("Testing POI", wb.SummaryInformation.Keywords); Assert.AreEqual(12345, DateUtil.GetExcelDate(wb.SummaryInformation.CreateDateTime.Value)); Assert.AreEqual("Apache", wb.DocumentSummaryInformation.Company); // Set some more, save + reload wb.SummaryInformation.Comments = (/*setter*/ "Resaved"); baos = new MemoryStream(); wb.Write(baos); bais = new MemoryStream(baos.ToArray()); wb = new HSSFWorkbook(bais); // Check again Assert.IsNotNull(wb.DocumentSummaryInformation); Assert.IsNotNull(wb.SummaryInformation); Assert.AreEqual("Apache POI", wb.SummaryInformation.Author); Assert.AreEqual("Testing POI", wb.SummaryInformation.Keywords); Assert.AreEqual("Resaved", wb.SummaryInformation.Comments); Assert.AreEqual(12345, DateUtil.GetExcelDate(wb.SummaryInformation.CreateDateTime.Value)); Assert.AreEqual("Apache", wb.DocumentSummaryInformation.Company); }
public void TestCreateNewProperties() { POIDocument doc = new HSSFWorkbook(); // New document won't have them Assert.IsNull(doc.SummaryInformation); Assert.IsNull(doc.DocumentSummaryInformation); // Add them in doc.CreateInformationProperties(); Assert.IsNotNull(doc.SummaryInformation); Assert.IsNotNull(doc.DocumentSummaryInformation); // Write out and back in again, no change ByteArrayOutputStream baos = new ByteArrayOutputStream(); doc.Write(baos); ByteArrayInputStream bais = new ByteArrayInputStream(baos.ToByteArray()); doc = new HSSFWorkbook(bais); Assert.IsNotNull(doc.SummaryInformation); Assert.IsNotNull(doc.DocumentSummaryInformation); }