public void TestCustomPalette() { //reading sample xls HSSFWorkbook book = HSSFTestDataSamples.OpenSampleWorkbook("Simple.xls"); //creating custom palette HSSFPalette palette = book.GetCustomPalette(); palette.SetColorAtIndex((short)0x12, (byte)101, (byte)230, (byte)100); palette.SetColorAtIndex((short)0x3b, (byte)0, (byte)255, (byte)52); //writing to disk; reading in and verifying palette string tmppath = TempFile.GetTempFilePath("TestCustomPalette", ".xls"); FileStream fos = new FileStream(tmppath, FileMode.OpenOrCreate); book.Write(fos); fos.Close(); FileStream fis = new FileStream(tmppath, FileMode.Open, FileAccess.Read); book = new HSSFWorkbook(fis); fis.Close(); palette = book.GetCustomPalette(); HSSFColor color = palette.GetColor(HSSFColor.Coral.Index); //unmodified Assert.IsNotNull(color, "Unexpected null in custom palette (unmodified index)"); byte[] expectedRGB = HSSFColor.Coral.Triplet; byte[] actualRGB = color.RGB; String msg = "Expected palette position to remain unmodified"; Assert.AreEqual(expectedRGB[0], actualRGB[0], msg); Assert.AreEqual(expectedRGB[1], actualRGB[1], msg); Assert.AreEqual(expectedRGB[2], actualRGB[2], msg); color = palette.GetColor((short)0x12); Assert.IsNotNull(color, "Unexpected null in custom palette (modified)"); actualRGB = color.RGB; msg = "Expected palette modification to be preserved across save"; Assert.AreEqual((short)101, actualRGB[0], msg); Assert.AreEqual((short)230, actualRGB[1], msg); Assert.AreEqual((short)100, actualRGB[2], msg); }
public void TestDefaultPalette() { PaletteRecord palette = new PaletteRecord(); //make sure all the HSSFColor constants match Dictionary <int, HSSFColor> colors = HSSFColor.GetIndexHash(); foreach (KeyValuePair <int, HSSFColor> entry in colors) { int index = entry.Key; HSSFColor c = entry.Value; byte[] rgbTriplet = c.GetTriplet(); byte[] paletteTriplet = palette.GetColor((short)index); String msg = "Expected HSSFColor constant to match PaletteRecord at index 0x" + NPOI.Util.StringUtil.ToHexString(c.Indexed); Assert.AreEqual(rgbTriplet[0], paletteTriplet[0] & 0xff, msg); Assert.AreEqual(rgbTriplet[1], paletteTriplet[1] & 0xff, msg); Assert.AreEqual(rgbTriplet[2], paletteTriplet[2] & 0xff, msg); } }
public void TestDefaultPalette() { PaletteRecord palette = new PaletteRecord(); //make sure all the HSSFColor constants match Hashtable colors = HSSFColor.GetIndexHash(); IEnumerator indexes = colors.Keys.GetEnumerator(); while (indexes.MoveNext()) { int index = (int)indexes.Current; HSSFColor c = (HSSFColor)colors[index]; short[] rgbTriplet = c.GetTriplet(); byte[] paletteTriplet = palette.GetColor((short)index); String msg = "Expected HSSFColor constant to match PaletteRecord at index 0x" + NPOI.Util.StringUtil.ToHexString(c.GetIndex()); Assert.AreEqual(rgbTriplet[0], paletteTriplet[0] & 0xff, msg); Assert.AreEqual(rgbTriplet[1], paletteTriplet[1] & 0xff, msg); Assert.AreEqual(rgbTriplet[2], paletteTriplet[2] & 0xff, msg); } }