public void Save() { string in_path = CreateFile(); string out_path = ImageFile.TempPath("output.jpg"); JpegHeader source; JpegHeader dest; using (Stream orig = File.OpenRead(in_path)) { source = new JpegHeader(orig); using (Stream output = File.OpenWrite(out_path)) { source.Save(output); } using (Stream result = File.OpenRead(out_path)) { dest = new JpegHeader(result); Assert.AreEqual(source.Markers.Count, dest.Markers.Count); Assert.AreEqual(source.GuessQuality(), dest.GuessQuality()); Assert.AreEqual(orig.Length, result.Length); for (int i = 0; i < source.Markers.Count; i++) { Marker d = (Marker)dest.Markers [i]; Marker s = (Marker)source.Markers [i]; Assert.AreEqual(d.Type, s.Type); Assert.AreEqual(d.GetName(), s.GetName()); if (d.Data != null) { Assert.AreEqual(d.Data.Length, s.Data.Length); for (int j = 0; j < d.Data.Length; j++) { Assert.AreEqual(d.Data [j], s.Data [j]); } } else { Assert.AreEqual(d.Data, s.Data); } } } } File.Delete(in_path); File.Delete(out_path); }
public void Load() { string path = CreateFile(); using (Stream stream = File.OpenRead(path)) { JpegHeader jhead = new JpegHeader(stream); Assert.AreEqual(((Marker)jhead.Markers [0]).Type, JpegMarker.Soi); Assert.AreEqual(((Marker)jhead.Markers [1]).GetName(), "JFIF"); Assert.AreEqual(((Marker)jhead.Markers [1]).Type, JpegMarker.App0); Assert.AreEqual(((Marker)jhead.Markers [2]).GetName(), "Exif"); Assert.AreEqual(((Marker)jhead.Markers [2]).Type, JpegMarker.App1); // NOTE the currently we don't store the Eoi as the last marker Assert.AreEqual(((Marker)jhead.Markers [jhead.Markers.Count - 1]).Type, JpegMarker.Sos); // NOTE this is kind of sill but it might help Assert.IsTrue(Math.Abs(jhead.GuessQuality() - quality) <= 1); Assert.IsNotNull(jhead.GetExifHeader()); } File.Delete(path); }
public void Save () { string in_path = CreateFile (); string out_path = ImageFile.TempPath ("output.jpg"); JpegHeader source; JpegHeader dest; using (Stream orig = File.OpenRead (in_path)) { source = new JpegHeader (orig); using (Stream output = File.OpenWrite (out_path)) { source.Save (output); } using (Stream result = File.OpenRead (out_path)) { dest = new JpegHeader (result); Assert.AreEqual (source.Markers.Count, dest.Markers.Count); Assert.AreEqual (source.GuessQuality (), dest.GuessQuality ()); Assert.AreEqual (orig.Length, result.Length); for (int i = 0; i < source.Markers.Count; i++) { Marker d = (Marker) dest.Markers [i]; Marker s = (Marker) source.Markers [i]; Assert.AreEqual (d.Type, s.Type); Assert.AreEqual (d.GetName (), s.GetName ()); if (d.Data != null) { Assert.AreEqual (d.Data.Length, s.Data.Length); for (int j = 0; j < d.Data.Length; j++) { Assert.AreEqual (d.Data [j], s.Data [j]); } } else { Assert.AreEqual (d.Data, s.Data); } } } } File.Delete (in_path); File.Delete (out_path); }
public void Load () { string path = CreateFile (); using (Stream stream = File.OpenRead (path)) { JpegHeader jhead = new JpegHeader (stream); Assert.AreEqual (((Marker)jhead.Markers [0]).Type, JpegMarker.Soi); Assert.AreEqual (((Marker)jhead.Markers [1]).GetName (), "JFIF"); Assert.AreEqual (((Marker)jhead.Markers [1]).Type, JpegMarker.App0); Assert.AreEqual (((Marker)jhead.Markers [2]).GetName (), "Exif"); Assert.AreEqual (((Marker)jhead.Markers [2]).Type, JpegMarker.App1); // NOTE the currently we don't store the Eoi as the last marker Assert.AreEqual (((Marker)jhead.Markers [jhead.Markers.Count -1]).Type, JpegMarker.Sos); // NOTE this is kind of sill but it might help Assert.IsTrue (Math.Abs (jhead.GuessQuality () - quality) <= 1); Assert.IsNotNull (jhead.GetExifHeader ()); } File.Delete (path); }