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); }