lots of test work. enable some tests which were disabled, and try to make sure we...
[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         [Ignore ("This test has to be completly reviewed")]
23         public class ImageListTest
24         {
25                 [Test]
26                 public void ImageListPropertyTest ()
27                 {
28                         ImageList myimagelist = new ImageList ();
29
30                         // C
31                         Assert.AreEqual (ColorDepth.Depth8Bit, myimagelist.ColorDepth, "#C1");
32                         myimagelist.ColorDepth = ColorDepth.Depth32Bit;
33                         Assert.AreEqual (ColorDepth.Depth32Bit, myimagelist.ColorDepth, "#C2");
34                         Assert.AreEqual (0, myimagelist.Images.Count, "#C3");
35                         // H
36                         Assert.AreEqual (false, myimagelist.HandleCreated, "#H1");
37                         myimagelist.Handle.ToInt32 ();
38                         Assert.AreEqual (true, myimagelist.HandleCreated, "#H2");
39                         Assert.AreEqual ("System.IntPtr", myimagelist.Handle.GetType ().FullName, "#H3");
40                 
41                         // I
42                         Image myImage = Image.FromFile("M.gif");
43                         myimagelist.Images.Add (myImage);
44                         Assert.AreEqual (1, myimagelist.Images.Count, "#I1");
45                         Assert.AreEqual (16, myimagelist.ImageSize.Height, "#I2");
46                         Assert.AreEqual (16, myimagelist.ImageSize.Width, "#I3");
47                         // [MonoTODO ("Add test for ImageStream")]
48                         // [MonoTODO ("Test for Draw Method (visual test)")]
49                                                 
50                         // T
51                         Assert.AreEqual (Color.Transparent, myimagelist.TransparentColor, "#T1");
52                 }
53                 
54                 [Test]
55                 public void ToStringMethodTest () 
56                 {
57                         ImageList myimagelist = new ImageList ();
58                         Assert.AreEqual ("System.Windows.Forms.ImageList Images.Count: 0, ImageSize: {Width=16, Height=16}",                                          myimagelist.ToString (), "#T3");
59                 }
60                 
61                 [TestFixture]
62                 [Ignore ("This test has to be completly reviewed")]
63                 public class ImageListRecreateHandleEventClass
64                 {
65                         static bool eventhandled = false;
66                         public static void RecreateHandle_EventHandler (object sender, EventArgs e)
67                         {
68                                 eventhandled = true;
69                         }
70
71                         [Test]
72                         public void RecreateHandleEvenTest ()
73                         {
74                                 Form myform = new Form ();
75                                 Graphics mygraphics = null;
76                                 ImageList myimagelist = new ImageList ();
77                                 Image myImage = Image.FromFile("M.gif");
78                                 myimagelist.Images.Add (myImage);
79                                 myimagelist.ColorDepth = ColorDepth.Depth8Bit;
80                                 myimagelist.ImageSize = new Size (50,50);
81                                 myimagelist.RecreateHandle += new EventHandler (RecreateHandle_EventHandler);
82                                 mygraphics = Graphics.FromHwnd(myform.Handle);
83                                 myimagelist.Draw(mygraphics, new Point(5, 5), 0);
84                                 myimagelist.ImageSize = new Size (100,100);
85                                 Assert.AreEqual (true, eventhandled, "#1");
86                                 eventhandled = false;
87                                 myimagelist.Images.Add (myImage);
88                                 myimagelist.ColorDepth = ColorDepth.Depth32Bit;
89                                 Assert.AreEqual (true, eventhandled, "#2");
90                                 myform.Dispose ();
91                         }
92
93                 }
94         }
95 }