public void CopyOpenAddAndSavePicture() { string origFile = @"Data\testfile2.flac"; string newFile = @"Data\testfile2_temp.flac"; byte[] imageData = File.ReadAllBytes(@"Data\testimage.png"); FileHelper.GetNewFile(origFile, newFile); try { using (FlacFile flac = new FlacFile(newFile)) { Picture pict = null; pict = new FlacLibSharp.Picture(); pict.ColorDepth = 24; pict.Data = imageData; pict.Description = "Small picture test ..."; pict.Height = 420; pict.Width = 410; pict.MIMEType = "image/png"; pict.PictureType = PictureType.ArtistLogotype; flac.Metadata.Add(pict); pict = new FlacLibSharp.Picture(); pict.ColorDepth = 24; pict.Description = "Small URL picture test ..."; pict.Height = 768; pict.Width = 1024; pict.MIMEType = "-->"; pict.PictureType = PictureType.BrightColouredFish; pict.URL = "http://38.media.tumblr.com/0e954b0469c281a9a09eb1378daada3e/tumblr_mh0cpm19zR1s3yrubo1_1280.jpg"; flac.Metadata.Add(pict); flac.Save(); } using (FlacFile flac = new FlacFile(newFile)) { List <Picture> pictures = flac.GetAllPictures(); Assert.IsTrue(pictures.Count > 0); bool foundOurImage = false; bool foundOurURL = false; foreach (var pict in pictures) { if (pict.Description == "Small picture test ...") { Assert.AreEqual <uint>(24, pict.ColorDepth); Assert.AreEqual <string>("Small picture test ...", pict.Description); Assert.AreEqual <uint>(420, pict.Height); Assert.AreEqual <uint>(410, pict.Width); Assert.AreEqual <string>("image/png", pict.MIMEType); Assert.AreEqual <PictureType>(PictureType.ArtistLogotype, pict.PictureType); Assert.IsNotNull(pict.Data.Length); Assert.AreEqual <int>(imageData.Length, pict.Data.Length); for (int i = 0; i < imageData.Length; i++) { Assert.AreEqual <byte>(imageData[i], pict.Data[i], "Written picture data does not match read picture data."); } foundOurImage = true; } if (pict.Description == "Small URL picture test ...") { Assert.AreEqual <uint>(24, pict.ColorDepth); Assert.AreEqual <string>("Small URL picture test ...", pict.Description); Assert.AreEqual <uint>(768, pict.Height); Assert.AreEqual <uint>(1024, pict.Width); Assert.AreEqual <string>("-->", pict.MIMEType); Assert.AreEqual <PictureType>(PictureType.BrightColouredFish, pict.PictureType); Assert.AreEqual <string>("http://38.media.tumblr.com/0e954b0469c281a9a09eb1378daada3e/tumblr_mh0cpm19zR1s3yrubo1_1280.jpg", pict.URL); foundOurURL = true; } } Assert.IsTrue(foundOurImage); Assert.IsTrue(foundOurURL); } } finally { if (File.Exists(newFile)) { File.Delete(newFile); } } }
public void CopyOpenAddAndSavePicture() { string origFile = @"Data\testfile2.flac"; string newFile = @"Data\testfile2_temp.flac"; byte[] imageData = File.ReadAllBytes(@"Data\testimage.png"); FileHelper.GetNewFile(origFile, newFile); try { using (FlacFile flac = new FlacFile(newFile)) { Picture pict = null; pict = new FlacLibSharp.Picture(); pict.ColorDepth = 24; pict.Data = imageData; pict.Description = "Small picture test ..."; pict.Height = 420; pict.Width = 410; pict.MIMEType = "image/png"; pict.PictureType = PictureType.ArtistLogotype; flac.Metadata.Add(pict); pict = new FlacLibSharp.Picture(); pict.ColorDepth = 24; pict.Description = "Small URL picture test ..."; pict.Height = 768; pict.Width = 1024; pict.MIMEType = "-->"; pict.PictureType = PictureType.BrightColouredFish; pict.URL = "http://38.media.tumblr.com/0e954b0469c281a9a09eb1378daada3e/tumblr_mh0cpm19zR1s3yrubo1_1280.jpg"; flac.Metadata.Add(pict); flac.Save(); } using (FlacFile flac = new FlacFile(newFile)) { List<Picture> pictures = flac.GetAllPictures(); Assert.IsTrue(pictures.Count > 0); bool foundOurImage = false; bool foundOurURL = false; foreach (var pict in pictures) { if (pict.Description == "Small picture test ...") { Assert.AreEqual<uint>(24, pict.ColorDepth); Assert.AreEqual<string>("Small picture test ...", pict.Description); Assert.AreEqual<uint>(420, pict.Height); Assert.AreEqual<uint>(410, pict.Width); Assert.AreEqual<string>("image/png", pict.MIMEType); Assert.AreEqual<PictureType>(PictureType.ArtistLogotype, pict.PictureType); Assert.IsNotNull(pict.Data.Length); Assert.AreEqual<int>(imageData.Length, pict.Data.Length); for (int i = 0; i < imageData.Length; i++) { Assert.AreEqual<byte>(imageData[i], pict.Data[i], "Written picture data does not match read picture data."); } foundOurImage = true; } if (pict.Description == "Small URL picture test ...") { Assert.AreEqual<uint>(24, pict.ColorDepth); Assert.AreEqual<string>("Small URL picture test ...", pict.Description); Assert.AreEqual<uint>(768, pict.Height); Assert.AreEqual<uint>(1024, pict.Width); Assert.AreEqual<string>("-->", pict.MIMEType); Assert.AreEqual<PictureType>(PictureType.BrightColouredFish, pict.PictureType); Assert.AreEqual<string>("http://38.media.tumblr.com/0e954b0469c281a9a09eb1378daada3e/tumblr_mh0cpm19zR1s3yrubo1_1280.jpg", pict.URL); foundOurURL = true; } } Assert.IsTrue(foundOurImage); Assert.IsTrue(foundOurURL); } } finally { if (File.Exists(newFile)) { File.Delete(newFile); } } }