2 // Icon class testing unit
6 // Sanjay Gupta <gsanjay@novell.com>
10 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
12 // Permission is hereby granted, free of charge, to any person obtaining
13 // a copy of this software and associated documentation files (the
14 // "Software"), to deal in the Software without restriction, including
15 // without limitation the rights to use, copy, modify, merge, publish,
16 // distribute, sublicense, and/or sell copies of the Software, and to
17 // permit persons to whom the Software is furnished to do so, subject to
18 // the following conditions:
20 // The above copyright notice and this permission notice shall be
21 // included in all copies or substantial portions of the Software.
23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
27 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
34 using NUnit.Framework;
36 using System.Security.Permissions;
38 namespace MonoTests.System.Drawing{
41 [SecurityPermission (SecurityAction.Deny, UnmanagedCode = true)]
42 public class TestIcon {
52 String path = TestBitmap.getInFile ("bitmaps/smiley.ico");
53 icon = new Icon (path);
54 fs1 = new FileStream (path, FileMode.Open);
58 public void TestConstructors ()
60 newIcon = new Icon (fs1, 48, 48);
61 Assert.AreEqual (48, newIcon.Height, "C#1a");
62 Assert.AreEqual (48, newIcon.Width, "C#1b");
64 newIcon = new Icon (icon, 16, 16);
65 Assert.AreEqual (16, newIcon.Height, "C#2a");
66 Assert.AreEqual (16, newIcon.Width, "C#2b");
70 public void TestProperties ()
72 Assert.AreEqual (32, icon.Height, "P#1");
73 Assert.AreEqual (32, icon.Width, "P#2");
74 Assert.AreEqual (32, icon.Size.Width, "P#3");
75 Assert.AreEqual (32, icon.Size.Height, "P#4");
80 public void TestMethods ()
84 TODO: This does not work on Win32
86 newIcon = (Icon) icon.Clone ();
87 Assert.AreEqual (32, newIcon.Height, "M#1a");
88 Assert.AreEqual (32, newIcon.Width, "M#1b");
90 Bitmap bmp = icon.ToBitmap();
91 Assert.AreEqual (32, bmp.Height, "M#2a");
92 Assert.AreEqual (32, bmp.Width, "M#2b");
95 fs = new FileStream ("newIcon.ico", FileMode.Create);
98 Assert.AreEqual (fs1.Length, fs.Length, "M#3");
102 public void TearDown ()
108 if (File.Exists ("newIcon.ico"))
109 File.Delete("newIcon.ico");