enhancement and cleanup
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / ImageListTest.cs
1 //
2 // ImageImageListTest.cs: Test cases for ImageImageList.
3 //
4 // Author:
5 //   Ritvik Mayank (mritvik@novell.com)
6 //
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
8 //
9
10 using System;
11 using System.Windows.Forms;
12 using System.Drawing;
13 using System.Reflection;
14 using NUnit.Framework;
15 using System.Threading;
16
17
18 namespace MonoTests.System.Windows.Forms
19 {
20
21         [TestFixture]
22         public class ImageListTest
23         {
24                 [Test]
25                 public void ImageListPropertyTest ()
26                 {
27                         ImageList myimagelist = new ImageList ();
28
29                         // C
30                         Assert.AreEqual (ColorDepth.Depth8Bit, myimagelist.ColorDepth, "#C1");
31                         myimagelist.ColorDepth = ColorDepth.Depth32Bit;
32                         Assert.AreEqual (ColorDepth.Depth32Bit, myimagelist.ColorDepth, "#C2");
33                         Assert.AreEqual (0, myimagelist.Images.Count, "#C3");
34                         // H
35                         Assert.AreEqual (false, myimagelist.HandleCreated, "#H1");
36                         myimagelist.Handle.ToInt32 ();
37                         Assert.AreEqual (true, myimagelist.HandleCreated, "#H2");
38                         Assert.AreEqual ("System.IntPtr", myimagelist.Handle.GetType ().FullName, "#H3");
39                 
40                         // I
41                         Image myImage = Image.FromFile("M.gif");
42                         myimagelist.Images.Add (myImage);
43                         Assert.AreEqual (1, myimagelist.Images.Count, "#I1");
44                         Assert.AreEqual (16, myimagelist.ImageSize.Height, "#I2");
45                         Assert.AreEqual (16, myimagelist.ImageSize.Width, "#I3");
46                         // [MonoTODO ("Add test for ImageStream")]
47                         // [MonoTODO ("Test for Draw Method (visual test)")]
48                                                 
49                         // T
50                         Assert.AreEqual (Color.Transparent, myimagelist.TransparentColor, "#T1");
51                 }
52                 
53                 [Test]
54                 public void ToStringMethodTest () 
55                 {
56                         ImageList myimagelist = new ImageList ();
57                         Assert.AreEqual ("System.Windows.Forms.ImageList Images.Count: 0, ImageSize: {Width=16, Height=16}",                                          myimagelist.ToString (), "#T3");
58                 }
59                 
60                 [TestFixture]
61                         public class ImageListRecreateHandleEventClass
62                 {
63                         static bool eventhandled = false;
64                         public static void RecreateHandle_EventHandler (object sender, EventArgs e)
65                         {
66                                 eventhandled = true;
67                         }
68
69                         [Test]
70                         public void RecreateHandleEvenTest ()
71                         {
72                                 Form myform = new Form ();
73                                 Graphics mygraphics = null;
74                                 ImageList myimagelist = new ImageList ();
75                                 Image myImage = Image.FromFile("M.gif");
76                                 myimagelist.Images.Add (myImage);
77                                 myimagelist.ColorDepth = ColorDepth.Depth8Bit;
78                                 myimagelist.ImageSize = new Size (50,50);
79                                 myimagelist.RecreateHandle += new EventHandler (RecreateHandle_EventHandler);
80                                 mygraphics = Graphics.FromHwnd(myform.Handle);
81                                 myimagelist.Draw(mygraphics, new Point(5, 5), 0);
82                                 myimagelist.ImageSize = new Size (100,100);
83                                 Assert.AreEqual (true, eventhandled, "#1");
84                                 eventhandled = false;
85                                 myimagelist.Images.Add (myImage);
86                                 myimagelist.ColorDepth = ColorDepth.Depth32Bit;
87                                 Assert.AreEqual (true, eventhandled, "#2");
88                         }
89
90                 }
91         }
92 }