refactor testcase, to make possible to check other properties
authorAndrew Skiba <andrews@mono-cvs.ximian.com>
Tue, 9 Aug 2005 15:07:46 +0000 (15:07 -0000)
committerAndrew Skiba <andrews@mono-cvs.ximian.com>
Tue, 9 Aug 2005 15:07:46 +0000 (15:07 -0000)
svn path=/trunk/mcs/; revision=48170

mcs/class/System.Drawing/Test/System.Drawing.Imaging/ChangeLog
mcs/class/System.Drawing/Test/System.Drawing.Imaging/TestImageCodecInfo.cs

index 08f99af7faf64654af0a89431c1a6d002ab2d454..6656ceaeead82d88642de030605eadc8968a22d7 100644 (file)
@@ -1,3 +1,8 @@
+2005-08-09  Andrew Skiba <andrews@mainsoft.com>
+
+       * TestImageCodecInfo.cs: refactor to make possible to add tests for all
+       properties, not only FormatID.
+
 2004-03-22  Jordi Mas i Hernandez <jordi@ximian.com>
                                                                                 
        * TestColorMatrix.cs: added test case
index 76021fcf44e24eb37c21c9159bd3480f088d4dc3..201f91a3ba8ad1773dcc5bba2cb691d63fcf9f13 100644 (file)
@@ -34,7 +34,7 @@ using System;
 using System.Drawing;
 using System.Drawing.Imaging;
 using NUnit.Framework;
-using System.IO;
+using System.Collections;
 
 namespace MonoTests.System.Drawing
 {
@@ -42,85 +42,91 @@ namespace MonoTests.System.Drawing
        [TestFixture]   
        public class TestImageCodecInfo 
        {
-               
-               [TearDown]
-               public void Clean() {}
-               
-               [SetUp]
-               public void GetReady()          
+               Hashtable decoders;
+               Hashtable encoders;
+
+               ImageCodecInfo GetDecoder (string clsid)
                {
-               
+                       return GetDecoder (new Guid (clsid));
                }
-               
-               internal void isPresent (ImageCodecInfo[] codecs, string clsid, string formatID)
-               {                       
-                       for (int i = 0; i < codecs.Length; i++) {
-                               if (codecs[i].FormatID.ToString() == formatID) {
-                                       Assert.AreEqual (codecs[i].Clsid.ToString(), clsid);
-                                       return;
-                               }
-                       }
 
-                       Assert.IsTrue (false);
-               }
-               
-               /*
-                       This test makes sure that we deliver at least the BMP, GIF, JPEG
-                       and PNG encoders
-               */
-               [Test]
-               public void Encoders()
+               ImageCodecInfo GetDecoder (Guid clsid)
                {
-               
-                       ImageCodecInfo[] decoders =  ImageCodecInfo.GetImageDecoders();                 
-                       ImageCodecInfo[] encoders =  ImageCodecInfo.GetImageEncoders(); 
-
-
-                       /* BMP */
-                       isPresent (encoders, "557cf400-1a04-11d3-9a73-0000f81ef32e", 
-                               "b96b3cab-0728-11d3-9d7b-0000f81ef32e");
+                       return (ImageCodecInfo) decoders [clsid];
+               }
 
-                       /* GIF */
-                       isPresent (encoders, "557cf402-1a04-11d3-9a73-0000f81ef32e", 
-                               "b96b3cb0-0728-11d3-9d7b-0000f81ef32e");
+               ImageCodecInfo GetEncoder (string clsid)
+               {
+                       return GetEncoder (new Guid (clsid));
+               }
 
-                       /* JPEG */
-                       isPresent (encoders, "557cf401-1a04-11d3-9a73-0000f81ef32e", 
-                               "b96b3cae-0728-11d3-9d7b-0000f81ef32e");
+               ImageCodecInfo GetEncoder (Guid clsid)
+               {
+                       return (ImageCodecInfo) encoders [clsid];
+               }
 
-                       /* PNG */
-                       isPresent (encoders, "557cf406-1a04-11d3-9a73-0000f81ef32e", 
-                               "b96b3caf-0728-11d3-9d7b-0000f81ef32e");
+               [TestFixtureSetUp]
+               public void FixtureGetReady()           
+               {
+                       decoders = new Hashtable ();
+                       encoders = new Hashtable ();
 
+                       foreach (ImageCodecInfo decoder in ImageCodecInfo.GetImageDecoders())
+                               decoders[decoder.Clsid] = decoder;
+               
+                       foreach (ImageCodecInfo encoder in ImageCodecInfo.GetImageEncoders())
+                               encoders[encoder.Clsid] = encoder;
                }
-
-               /*
-                       This test makes sure that we deliver at least the BMP, GIF, JPEG
-                       and PNG decoders
-               */
+               
                [Test]
-               public void Decoders()
-               {               
-                       ImageCodecInfo[] decoders =  ImageCodecInfo.GetImageDecoders();                 
-
-                       /* BMP */
-                       isPresent (decoders, "557cf400-1a04-11d3-9a73-0000f81ef32e", 
-                               "b96b3cab-0728-11d3-9d7b-0000f81ef32e");
-
-                       /* GIF */
-                       isPresent (decoders, "557cf402-1a04-11d3-9a73-0000f81ef32e", 
-                               "b96b3cb0-0728-11d3-9d7b-0000f81ef32e");
+               public void BMPDecoder()
+               {
+                       Assert.AreEqual (ImageFormat.Bmp.Guid,
+                               GetDecoder ("557cf400-1a04-11d3-9a73-0000f81ef32e").FormatID, "BMP");
+               }
 
-                       /* JPEG */
-                       isPresent (decoders, "557cf401-1a04-11d3-9a73-0000f81ef32e", 
-                               "b96b3cae-0728-11d3-9d7b-0000f81ef32e");
+               [Test]
+               public void GifDecoder()
+               {
+                       Assert.AreEqual (ImageFormat.Gif.Guid,
+                               GetDecoder ("557cf402-1a04-11d3-9a73-0000f81ef32e").FormatID, "GIF");
+               }
+               
+               [Test]
+               public void JpegDecoder()
+               {
+                       Assert.AreEqual (ImageFormat.Jpeg.Guid,
+                               GetDecoder ("557cf401-1a04-11d3-9a73-0000f81ef32e").FormatID, "JPEG");
+               }
 
-                       /* PNG */
-                       isPresent (decoders, "557cf406-1a04-11d3-9a73-0000f81ef32e", 
-                               "b96b3caf-0728-11d3-9d7b-0000f81ef32e");
+               [Test]
+               public void PngDecoder()
+               {
+                       Assert.AreEqual (ImageFormat.Png.Guid,
+                               GetDecoder ("557cf406-1a04-11d3-9a73-0000f81ef32e").FormatID, "PNG");
+               }
+               [Test]
+               public void BMPEncoder() {
+                       Assert.AreEqual (ImageFormat.Bmp.Guid,
+                               GetEncoder ("557cf400-1a04-11d3-9a73-0000f81ef32e").FormatID, "BMP");
                }
 
-       
+               [Test]
+               public void GifEncoder() {
+                       Assert.AreEqual (ImageFormat.Gif.Guid,
+                               GetEncoder ("557cf402-1a04-11d3-9a73-0000f81ef32e").FormatID, "GIF");
+               }
                
+               [Test]
+               public void JpegEncoder() {
+                       Assert.AreEqual (ImageFormat.Jpeg.Guid,
+                               GetEncoder ("557cf401-1a04-11d3-9a73-0000f81ef32e").FormatID, "JPEG");
+               }
+
+               [Test]
+               public void PngEncoder() {
+                       Assert.AreEqual (ImageFormat.Png.Guid,
+                               GetEncoder ("557cf406-1a04-11d3-9a73-0000f81ef32e").FormatID, "PNG");
+               }
        }
 }