public void TestRead()
{
XSSFWorkbook wb = XSSFTestDataSamples.OpenSampleWorkbook("WithDrawing.xlsx");
IList pictures = wb.GetAllPictures();
//wb.GetAllPictures() should return the same instance across multiple calls
Assert.AreSame(pictures, wb.GetAllPictures());
Assert.AreEqual(5, pictures.Count);
String[] ext = { "jpeg", "emf", "png", "emf", "wmf" };
String[] mimetype = { "image/jpeg", "image/x-emf", "image/png", "image/x-emf", "image/x-wmf" };
for (int i = 0; i < pictures.Count; i++)
{
Assert.AreEqual(ext[i], ((XSSFPictureData)pictures[i]).SuggestFileExtension());
Assert.AreEqual(mimetype[i], ((XSSFPictureData)pictures[i]).MimeType);
}
int num = pictures.Count;
byte[] pictureData = { 0xA, 0xB, 0XC, 0xD, 0xE, 0xF };
int idx = wb.AddPicture(pictureData, PictureType.JPEG);
Assert.AreEqual(num + 1, pictures.Count);
//idx is 0-based index in the #pictures array
Assert.AreEqual(pictures.Count - 1, idx);
XSSFPictureData pict = (XSSFPictureData)pictures[idx];
Assert.AreEqual("jpeg", pict.SuggestFileExtension());
Assert.IsTrue(Arrays.Equals(pictureData, pict.Data));
}