Added license and copyright
[mono.git] / mcs / class / System.Drawing / Test / System.Drawing.Imaging / TestImageCodecInfo.cs
1 //
2 // ImageCodecInfo class testing unit
3 //
4 // Author:
5 //
6 //       Jordi Mas i Hernàndez (jordi@ximian.com)
7 //
8 // (C) 2004 Ximian, Inc.  http://www.ximian.com
9 //
10
11 //
12 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
13 //
14 // Permission is hereby granted, free of charge, to any person obtaining
15 // a copy of this software and associated documentation files (the
16 // "Software"), to deal in the Software without restriction, including
17 // without limitation the rights to use, copy, modify, merge, publish,
18 // distribute, sublicense, and/or sell copies of the Software, and to
19 // permit persons to whom the Software is furnished to do so, subject to
20 // the following conditions:
21 // 
22 // The above copyright notice and this permission notice shall be
23 // included in all copies or substantial portions of the Software.
24 // 
25 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
26 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
27 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
28 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
29 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
30 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
31 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32 //
33 using System;
34 using System.Drawing;
35 using System.Drawing.Imaging;
36 using NUnit.Framework;
37 using System.IO;
38
39 namespace MonoTests.System.Drawing
40 {
41
42         [TestFixture]   
43         public class TestImageCodecInfo 
44         {
45                 
46                 [TearDown]
47                 public void Clean() {}
48                 
49                 [SetUp]
50                 public void GetReady()          
51                 {
52                 
53                 }
54                 
55                 internal void isPresent (ImageCodecInfo[] codecs, string clsid, string formatID)
56                 {                       
57                         for (int i = 0; i < codecs.Length; i++) {
58                                 if (codecs[i].FormatID.ToString() == formatID) {
59                                         Assert.AreEqual (codecs[i].Clsid.ToString(), clsid);
60                                         return;
61                                 }
62                         }
63
64                         Assert.IsTrue (false);
65                 }
66                 
67                 /*
68                         This test makes sure that we deliver at least the BMP, GIF, JPEG
69                         and PNG encoders
70                 */
71                 [Test]
72                 public void Encoders()
73                 {
74                 
75                         ImageCodecInfo[] decoders =  ImageCodecInfo.GetImageDecoders();                 
76                         ImageCodecInfo[] encoders =  ImageCodecInfo.GetImageEncoders(); 
77
78
79                         /* BMP */
80                         isPresent (encoders, "557cf400-1a04-11d3-9a73-0000f81ef32e", 
81                                 "b96b3cab-0728-11d3-9d7b-0000f81ef32e");
82
83                         /* GIF */
84                         isPresent (encoders, "557cf402-1a04-11d3-9a73-0000f81ef32e", 
85                                 "b96b3cb0-0728-11d3-9d7b-0000f81ef32e");
86
87                         /* JPEG */
88                         isPresent (encoders, "557cf401-1a04-11d3-9a73-0000f81ef32e", 
89                                 "b96b3cae-0728-11d3-9d7b-0000f81ef32e");
90
91                         /* PNG */
92                         isPresent (encoders, "557cf406-1a04-11d3-9a73-0000f81ef32e", 
93                                 "b96b3caf-0728-11d3-9d7b-0000f81ef32e");
94
95                 }
96
97                 /*
98                         This test makes sure that we deliver at least the BMP, GIF, JPEG
99                         and PNG decoders
100                 */
101                 [Test]
102                 public void Decoders()
103                 {               
104                         ImageCodecInfo[] decoders =  ImageCodecInfo.GetImageDecoders();                 
105
106                         /* BMP */
107                         isPresent (decoders, "557cf400-1a04-11d3-9a73-0000f81ef32e", 
108                                 "b96b3cab-0728-11d3-9d7b-0000f81ef32e");
109
110                         /* GIF */
111                         isPresent (decoders, "557cf402-1a04-11d3-9a73-0000f81ef32e", 
112                                 "b96b3cb0-0728-11d3-9d7b-0000f81ef32e");
113
114                         /* JPEG */
115                         isPresent (decoders, "557cf401-1a04-11d3-9a73-0000f81ef32e", 
116                                 "b96b3cae-0728-11d3-9d7b-0000f81ef32e");
117
118                         /* PNG */
119                         isPresent (decoders, "557cf406-1a04-11d3-9a73-0000f81ef32e", 
120                                 "b96b3caf-0728-11d3-9d7b-0000f81ef32e");
121                 }
122
123         
124                 
125         }
126 }