Merge pull request #201 from QuickJack/master
[mono.git] / mcs / class / Managed.Windows.Forms / Test / System.Windows.Forms / PaddingTest.cs
1 //
2 //  PaddingTest.cs
3 //
4 // Permission is hereby granted, free of charge, to any person obtaining
5 // a copy of this software and associated documentation files (the
6 // "Software"), to deal in the Software without restriction, including
7 // without limitation the rights to use, copy, modify, merge, publish,
8 // distribute, sublicense, and/or sell copies of the Software, and to
9 // permit persons to whom the Software is furnished to do so, subject to
10 // the following conditions:
11 // 
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
14 // 
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 //
23 // Copyright (c) 2006 Daniel Nauck
24 //
25 // Author:
26 //      Daniel Nauck    (dna(at)mono-project(dot)de)
27
28 #if NET_2_0
29
30 using System;
31 using System.Windows.Forms;
32 using System.Drawing;
33 using System.IO;
34 using System.Runtime.Serialization.Formatters.Binary;
35 using NUnit.Framework;
36
37 namespace MonoTests.System.Windows.Forms
38 {
39         [TestFixture]
40         public class PaddingTest : TestHelper
41         {
42                 [Test]
43                 public void PaddingPropertiesTest()
44                 {
45                         Padding pad = new Padding();
46                         Assert.AreEqual(-1, pad.All, "#A1");
47                         Assert.AreEqual(0, pad.Top, "#A2");
48                         Assert.AreEqual(0, pad.Left, "#A3");
49                         Assert.AreEqual(0, pad.Right, "#A4");
50                         Assert.AreEqual(0, pad.Bottom, "#A5");
51                         Assert.AreEqual(0, pad.Horizontal, "#A6");
52                         Assert.AreEqual(0, pad.Vertical, "#A7");
53                         Assert.AreEqual("{Left=0,Top=0,Right=0,Bottom=0}", pad.ToString(), "#A8");
54                         Assert.AreEqual(new Size(0,0), pad.Size, "#A9");
55
56                         Padding pad2 = new Padding(5);
57                         Assert.AreEqual(5, pad2.All, "#B1");
58                         Assert.AreEqual(5, pad2.Top, "#B2");
59                         Assert.AreEqual(5, pad2.Left, "#B3");
60                         Assert.AreEqual(5, pad2.Right, "#B4");
61                         Assert.AreEqual(5, pad2.Bottom, "#B5");
62                         Assert.AreEqual(10, pad2.Horizontal, "#B6");
63                         Assert.AreEqual(10, pad2.Vertical, "#B7");
64                         Assert.AreEqual("{Left=5,Top=5,Right=5,Bottom=5}", pad2.ToString(), "#B8");
65                         Assert.AreEqual(new Size(10, 10), pad2.Size, "#B9");
66
67                         Padding pad3 = new Padding(5, 5, 10, 10);
68                         Assert.AreEqual(-1, pad3.All, "#C1");
69                         Assert.AreEqual(5, pad3.Top, "#C2");
70                         Assert.AreEqual(5, pad3.Left, "#C3");
71                         Assert.AreEqual(10, pad3.Right, "#C4");
72                         Assert.AreEqual(10, pad3.Bottom, "#C5");
73                         Assert.AreEqual(15, pad3.Horizontal, "#C6");
74                         Assert.AreEqual(15, pad3.Vertical, "#C7");
75                         Assert.AreEqual("{Left=5,Top=5,Right=10,Bottom=10}", pad3.ToString(), "#C8");
76                         Assert.AreEqual(new Size(15, 15), pad3.Size, "#C9");
77
78                         Padding pad4 = new Padding(10, 10, 10, 10);
79                         Assert.AreEqual(10, pad4.All, "#D1");
80
81                         Padding pad5 = Padding.Empty;
82                         Assert.AreEqual(0, pad5.All, "#E1");
83                         Assert.AreEqual(0, pad5.Top, "#E2");
84                         Assert.AreEqual(0, pad5.Left, "#E3");
85                         Assert.AreEqual(0, pad5.Right, "#E4");
86                         Assert.AreEqual(0, pad5.Bottom, "#E5");
87                         Assert.AreEqual(0, pad5.Horizontal, "#E6");
88                         Assert.AreEqual(0, pad5.Vertical, "#E7");
89                         Assert.AreEqual("{Left=0,Top=0,Right=0,Bottom=0}", pad5.ToString(), "#E8");
90                         Assert.AreEqual(new Size(0, 0), pad5.Size, "#E9");
91                 }
92
93                 [Test]
94                 public void PaddingOperatorTest()
95                 {
96                         Padding pad = new Padding(0);
97                         Assert.AreEqual(Padding.Empty, pad, "#A1");
98
99                         Padding pad1 = new Padding(2, 4, 6, 8);
100                         Padding pad2 = new Padding(5, 5, 10, 11);
101                         Padding pad3 = pad1 + pad2;
102                         Assert.AreEqual(-1, pad3.All, "#B1");
103                         Assert.AreEqual("{Left=7,Top=9,Right=16,Bottom=19}", pad3.ToString(), "#B2");
104
105                         pad3 = Padding.Add(pad1, pad2);
106                         Assert.AreEqual(-1, pad3.All, "#C1");
107                         Assert.AreEqual("{Left=7,Top=9,Right=16,Bottom=19}", pad3.ToString(), "#C2");
108
109                         Padding pad4 = pad3 - pad1;
110                         Assert.AreEqual(-1, pad4.All, "#D1");
111                         Assert.AreEqual("{Left=5,Top=5,Right=10,Bottom=11}", pad4.ToString(), "#D2");
112
113                         pad4 = Padding.Subtract(pad3, pad1);
114                         Assert.AreEqual(-1, pad4.All, "#E1");
115                         Assert.AreEqual("{Left=5,Top=5,Right=10,Bottom=11}", pad4.ToString(), "#E2");
116                 }
117         }
118 }
119 #endif