public virtual void TestThumbnailCompression() { ExifThumbnailDirectory directory = ExifReaderTest.ProcessBytes <ExifThumbnailDirectory>("Tests/Data/manuallyAddedThumbnail.jpg.app1"); // 6 means JPEG compression Sharpen.Tests.AreEqual(6, directory.GetInt(ExifThumbnailDirectory.TagThumbnailCompression)); }
public virtual void TestResolution() { Com.Drew.Metadata.Metadata metadata = ExifReaderTest.ProcessBytes("Tests/Data/withUncompressedRGBThumbnail.jpg.app1"); ExifThumbnailDirectory thumbnailDirectory = metadata.GetDirectory <ExifThumbnailDirectory>(); NUnit.Framework.Assert.IsNotNull(thumbnailDirectory); Sharpen.Tests.AreEqual(72, thumbnailDirectory.GetInt(ExifThumbnailDirectory.TagXResolution)); ExifIFD0Directory exifIFD0Directory = metadata.GetDirectory <ExifIFD0Directory>(); NUnit.Framework.Assert.IsNotNull(exifIFD0Directory); Sharpen.Tests.AreEqual(216, exifIFD0Directory.GetInt(ExifIFD0Directory.TagXResolution)); }
public virtual void TestExifDirectory_MatchesKnownValues() { Sharpen.Tests.AreEqual(" ", _exifIFD0Directory.GetString(ExifIFD0Directory.TagImageDescription)); Sharpen.Tests.AreEqual("NIKON", _exifIFD0Directory.GetString(ExifIFD0Directory.TagMake)); Sharpen.Tests.AreEqual("E950", _exifIFD0Directory.GetString(ExifIFD0Directory.TagModel)); Sharpen.Tests.AreEqual(1, _exifIFD0Directory.GetInt(ExifIFD0Directory.TagOrientation)); Sharpen.Tests.AreEqual(300, _exifIFD0Directory.GetDouble(ExifIFD0Directory.TagXResolution), 0.001); Sharpen.Tests.AreEqual(300, _exifIFD0Directory.GetDouble(ExifIFD0Directory.TagYResolution), 0.001); Sharpen.Tests.AreEqual(2, _exifIFD0Directory.GetInt(ExifIFD0Directory.TagResolutionUnit)); Sharpen.Tests.AreEqual("v981-79", _exifIFD0Directory.GetString(ExifIFD0Directory.TagSoftware)); Sharpen.Tests.AreEqual("2001:04:06 11:51:40", _exifIFD0Directory.GetString(ExifIFD0Directory.TagDatetime)); Sharpen.Tests.AreEqual(2, _exifIFD0Directory.GetInt(ExifIFD0Directory.TagYcbcrPositioning)); Sharpen.Tests.AreEqual(new Rational(1, 77), _exifSubIFDDirectory.GetRational(ExifSubIFDDirectory.TagExposureTime)); Sharpen.Tests.AreEqual(5.5, _exifSubIFDDirectory.GetDouble(ExifSubIFDDirectory.TagFnumber), 0.001); Sharpen.Tests.AreEqual(2, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagExposureProgram)); Sharpen.Tests.AreEqual(80, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagIsoEquivalent)); Sharpen.Tests.AreEqual("48 50 49 48", _exifSubIFDDirectory.GetString(ExifSubIFDDirectory.TagExifVersion)); Sharpen.Tests.AreEqual("2001:04:06 11:51:40", _exifSubIFDDirectory.GetString(ExifSubIFDDirectory.TagDatetimeDigitized)); Sharpen.Tests.AreEqual("2001:04:06 11:51:40", _exifSubIFDDirectory.GetString(ExifSubIFDDirectory.TagDatetimeOriginal)); Sharpen.Tests.AreEqual("1 2 3 0", _exifSubIFDDirectory.GetString(ExifSubIFDDirectory.TagComponentsConfiguration)); Sharpen.Tests.AreEqual(4, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagCompressedAverageBitsPerPixel)); Sharpen.Tests.AreEqual(0, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagExposureBias)); // this 2.6 *apex*, which is F2.5 Sharpen.Tests.AreEqual(2.6, _exifSubIFDDirectory.GetDouble(ExifSubIFDDirectory.TagMaxAperture), 0.001); Sharpen.Tests.AreEqual(5, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagMeteringMode)); Sharpen.Tests.AreEqual(0, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagWhiteBalance)); Sharpen.Tests.AreEqual(0, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagFlash)); Sharpen.Tests.AreEqual(12.8, _exifSubIFDDirectory.GetDouble(ExifSubIFDDirectory.TagFocalLength), 0.001); Sharpen.Tests.AreEqual("0 0 0 0 0 0 0 0 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32" , _exifSubIFDDirectory.GetString(ExifSubIFDDirectory.TagUserComment)); Sharpen.Tests.AreEqual("48 49 48 48", _exifSubIFDDirectory.GetString(ExifSubIFDDirectory.TagFlashpixVersion)); Sharpen.Tests.AreEqual(1, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagColorSpace)); Sharpen.Tests.AreEqual(1600, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagExifImageWidth)); Sharpen.Tests.AreEqual(1200, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagExifImageHeight)); Sharpen.Tests.AreEqual(3, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagFileSource)); Sharpen.Tests.AreEqual(1, _exifSubIFDDirectory.GetInt(ExifSubIFDDirectory.TagSceneType)); Sharpen.Tests.AreEqual(6, _thumbDirectory.GetInt(ExifThumbnailDirectory.TagThumbnailCompression)); Sharpen.Tests.AreEqual(2036, _thumbDirectory.GetInt(ExifThumbnailDirectory.TagThumbnailOffset)); Sharpen.Tests.AreEqual(4662, _thumbDirectory.GetInt(ExifThumbnailDirectory.TagThumbnailLength)); }
public virtual void TestDifferenceImageAndThumbnailOrientations() { // This metadata contains different orientations for the thumbnail and the main image. // These values used to be merged into a single directory, causing errors. // This unit test demonstrates correct behaviour. Com.Drew.Metadata.Metadata metadata = ProcessBytes("Tests/Data/repeatedOrientationTagWithDifferentValues.jpg.app1"); ExifIFD0Directory ifd0Directory = metadata.GetFirstDirectoryOfType <ExifIFD0Directory>(); ExifThumbnailDirectory thumbnailDirectory = metadata.GetFirstDirectoryOfType <ExifThumbnailDirectory>(); NUnit.Framework.Assert.IsNotNull(ifd0Directory); NUnit.Framework.Assert.IsNotNull(thumbnailDirectory); Sharpen.Tests.AreEqual(1, ifd0Directory.GetInt(ExifIFD0Directory.TagOrientation)); Sharpen.Tests.AreEqual(8, thumbnailDirectory.GetInt(ExifThumbnailDirectory.TagOrientation)); }
public virtual void TestExifThumbnailDirectory_MatchesKnownValues() { Sharpen.Tests.AreEqual(6, _thumbDirectory.GetInt(ExifThumbnailDirectory.TagThumbnailCompression)); Sharpen.Tests.AreEqual(1494, _thumbDirectory.GetInt(ExifThumbnailDirectory.TagThumbnailOffset)); Sharpen.Tests.AreEqual(6077, _thumbDirectory.GetInt(ExifThumbnailDirectory.TagThumbnailLength)); Sharpen.Tests.AreEqual(1494, _thumbDirectory.GetInt(ExifThumbnailDirectory.TagThumbnailOffset)); Sharpen.Tests.AreEqual(72, _thumbDirectory.GetInt(ExifThumbnailDirectory.TagXResolution)); Sharpen.Tests.AreEqual(72, _thumbDirectory.GetInt(ExifThumbnailDirectory.TagYResolution)); }
public virtual void TestThumbnailLength() { ExifThumbnailDirectory directory = ExifReaderTest.ProcessBytes <ExifThumbnailDirectory>("Tests/Data/manuallyAddedThumbnail.jpg.app1"); Sharpen.Tests.AreEqual(2970, directory.GetInt(ExifThumbnailDirectory.TagThumbnailLength)); }