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