public virtual void TestGimpGreyscaleWithManyChunks() { PngDirectory directory = ProcessFile <PngDirectory>("Tests/Data/gimp-8x12-greyscale-alpha-time-background.png"); Sharpen.Tests.AreEqual(8, directory.GetInt(PngDirectory.TagImageWidth)); Sharpen.Tests.AreEqual(12, directory.GetInt(PngDirectory.TagImageHeight)); Sharpen.Tests.AreEqual(8, directory.GetInt(PngDirectory.TagBitsPerSample)); Sharpen.Tests.AreEqual(4, directory.GetInt(PngDirectory.TagColorType)); Sharpen.Tests.AreEqual(0, directory.GetInt(PngDirectory.TagCompressionType)); Sharpen.Tests.AreEqual(0, directory.GetInt(PngDirectory.TagFilterMethod)); Sharpen.Tests.AreEqual(0, directory.GetInt(PngDirectory.TagInterlaceMethod)); Sharpen.Tests.AreEqual(0.45455, directory.GetDouble(PngDirectory.TagGamma), 0.00001); NUnit.Framework.CollectionAssert.AreEqual(new sbyte[] { 0, 52 }, directory.GetByteArray(PngDirectory.TagBackgroundColor)); //noinspection ConstantConditions //Sharpen.Tests.AreEqual("Tue Jan 01 04:08:30 GMT 2013", directory.GetDate(PngDirectory.TagLastModificationTime).ToString()); // HACK: test modification which solves problem with ToString conversion TimeZoneInfo gmt = Sharpen.Extensions.GetTimeZone("GMT"); Calendar calendar = Calendar.GetInstance(gmt); calendar.Set(2013, 00, 01, 04, 08, 30); Sharpen.Tests.AreEqual(calendar.GetTime(), directory.GetDate(PngDirectory.TagLastModificationTime)); IList <KeyValuePair> pairs = (IList <KeyValuePair>)directory.GetObject(PngDirectory.TagTextualData); NUnit.Framework.Assert.IsNotNull(pairs); Sharpen.Tests.AreEqual(1, pairs.Count); Sharpen.Tests.AreEqual("Comment", pairs[0].GetKey()); Sharpen.Tests.AreEqual("Created with GIMP", pairs[0].GetValue()); }