public void XmpReadHelperTest_GetData_usingStringExample() { var iStorage = new FakeIStorage(); var data = new ReadMetaXmp(iStorage).GetDataFromString(Input); Assert.AreEqual(52.3451333333, data.Latitude, 0.001); Assert.AreEqual(5.930, data.Longitude, 0.001); Assert.AreEqual(19, data.LocationAltitude, 0.001); Assert.AreEqual("caption", data.Description); Assert.AreEqual("keyword, keyword2", data.Tags); Assert.AreEqual("The object name", data.Title); Assert.AreEqual("Epe", data.LocationCity); Assert.AreEqual("Gelderland", data.LocationState); Assert.AreEqual("Nederland", data.LocationCountry); Assert.AreEqual(28d, data.FocalLength); Assert.AreEqual(ColorClassParser.Color.Winner, data.ColorClass); DateTime.TryParseExact("2018-07-18 19:44:27", "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out var dateTime); Assert.AreEqual(dateTime, data.DateTime); }
/// <summary> /// Used to get from all locations /// </summary> /// <param name="iStorage"></param> /// <param name="appSettings"></param> /// <param name="memoryCache"></param> public ReadMeta(IStorage iStorage, AppSettings appSettings = null, IMemoryCache memoryCache = null) { _appSettings = appSettings; _cache = memoryCache; _iStorage = iStorage; _readExif = new ReadMetaExif(_iStorage, appSettings); _readXmp = new ReadMetaXmp(_iStorage, memoryCache); }
public void XmpBasicRead_xPacket() { var xmpStart = "<?xpacket begin=\' \' id=\'W5M0MpCehiHzreSzNTczkc9d\'?>\n<x:xmpmeta xmlns:x=\'adobe:ns:meta/\' x:xmptk=\'Image::ExifTool 10.40\'>\n<rdf:RDF xmlns:rdf=\'http://www.w3.org/1999/02/22-rdf-syntax-ns#\'>\n</rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\'w\'?>"; var data = new ReadMetaXmp(null).GetDataFromString(xmpStart); Assert.AreEqual(string.Empty, data.Tags); }
public void XmpBasicRead() { var xmpStart = "<x:xmpmeta xmlns:x=\'adobe:ns:meta/\' x:xmptk=\'Qdraw\'>\n<rdf:RDF xmlns:rdf=\'http://www.w3.org/1999/02/22-rdf-syntax-ns#\'>\n</rdf:RDF>\n</x:xmpmeta>"; var data = new ReadMetaXmp(null).GetDataFromString(xmpStart); Assert.AreEqual(string.Empty, data.Tags); }
public void XmpReadHelperTest_XmpGetSidecarFile_TestIfOverwrite() { // convert string to stream byte[] xmpByteArray = Encoding.UTF8.GetBytes(Input); var fakeIStorage = new FakeIStorage(new List <string> { "/" }, new List <string> { "/test.arw", "/test.xmp" }, new List <byte[]> { null, xmpByteArray }); var fileIndexItem = new FileIndexItem { ParentDirectory = "/", FileName = "test.arw", Description = "something different", LocationAltitude = 3000, Latitude = 3000, Longitude = 3000, LocationCity = "Essen", LocationState = "Flevoland", LocationCountry = "Germany", DateTime = new DateTime(1990, 01, 01, 01, 00, 00) }; var data = new ReadMetaXmp(fakeIStorage).XmpGetSidecarFile(fileIndexItem); Assert.AreEqual(52.3451333333, data.Latitude, 0.001); Assert.AreEqual(5.930, data.Longitude, 0.001); Assert.AreEqual(19, data.LocationAltitude, 0.001); Assert.AreEqual("caption", data.Description); Assert.AreEqual("keyword, keyword2", data.Tags); Assert.AreEqual("The object name", data.Title); Assert.AreEqual("Epe", data.LocationCity); Assert.AreEqual("Gelderland", data.LocationState); Assert.AreEqual("Nederland", data.LocationCountry); Assert.AreEqual(ColorClassParser.Color.Winner, data.ColorClass); DateTime.TryParseExact("2018-07-18 19:44:27", "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out var dateTime); Assert.AreEqual(dateTime, data.DateTime); }