ChangeLog: Updated ChangeLog.
[mono.git] / mcs / class / System.Drawing / Test / System.Drawing / TestPoint.cs
1 // Tests for System.Drawing.Point.cs
2 //
3 // Author: Mike Kestner (mkestner@speakeasy.net)
4 //                 Improvements by Jordi Mas i Hernàndez <jmas@softcatala.org>
5 // Copyright (c) 2001 Ximian, Inc.
6
7 using NUnit.Framework;
8 using System;
9 using System.Drawing;
10
11 namespace MonoTests.System.Drawing{
12
13         [TestFixture]   
14         public class PointTest : Assertion {
15                 Point pt1_1;
16                 Point pt1_0;
17                 Point pt0_1;
18         
19                 [TearDown]
20                 public void Clean() {}
21                 
22                 [SetUp]
23                 public void GetReady()          
24                 {
25                         pt1_1 = new Point (1, 1);
26                         pt1_0 = new Point (1, 0);
27                         pt0_1 = new Point (0, 1);
28                 }
29                                 
30         
31                 [Test]
32                 public void EqualsTest () 
33                 {
34                         AssertEquals (pt1_1, pt1_1);
35                         AssertEquals (pt1_1, new Point (1, 1));
36                         Assert (!pt1_1.Equals (pt1_0));
37                         Assert (!pt1_1.Equals (pt0_1));
38                         Assert (!pt1_0.Equals (pt0_1));
39                 }
40                 
41                 [Test]
42                 public void EqualityOpTest () 
43                 {
44                         Assert (pt1_1 == pt1_1);
45                         Assert (pt1_1 == new Point (1, 1));
46                         Assert (!(pt1_1 == pt1_0));
47                         Assert (!(pt1_1 == pt0_1));
48                         Assert (!(pt1_0 == pt0_1));
49                 }
50
51                 [Test]
52                 public void InequalityOpTest () 
53                 {
54                         Assert (!(pt1_1 != pt1_1));
55                         Assert (!(pt1_1 != new Point (1, 1)));
56                         Assert (pt1_1 != pt1_0);
57                         Assert (pt1_1 != pt0_1);
58                         Assert (pt1_0 != pt0_1);
59                 }
60         
61                 [Test]
62                 public void CeilingTest () 
63                 {
64                         PointF ptf = new PointF (0.8f, 0.3f);
65                         AssertEquals (pt1_1, Point.Ceiling (ptf));
66                 }
67         
68                 [Test]
69                 public void RoundTest () 
70                 {
71                         PointF ptf = new PointF (0.8f, 1.3f);
72                         AssertEquals (pt1_1, Point.Round (ptf));
73                 }
74         
75                 [Test]
76                 public void TruncateTest () 
77                 {
78                         PointF ptf = new PointF (0.8f, 1.3f);
79                         AssertEquals (pt0_1, Point.Truncate (ptf));
80                 }
81         
82                 [Test]
83                 public void NullTest () 
84                 {
85                         Point pt = new Point (0, 0);
86                         AssertEquals (pt, Point.Empty);
87                 }
88         
89                 [Test]
90                 public void AdditionTest () 
91                 {
92                         AssertEquals (pt1_1, pt1_0 + new Size (0, 1));
93                         AssertEquals (pt1_1, pt0_1 + new Size (1, 0));
94                 }
95         
96                 [Test]
97                 public void SubtractionTest () 
98                 {
99                         AssertEquals (pt1_0, pt1_1 - new Size (0, 1));
100                         AssertEquals (pt0_1, pt1_1 - new Size (1, 0));
101                 }
102         
103                 [Test]
104                 public void Point2SizeTest () 
105                 {
106                         Size sz1 = new Size (1, 1);
107                         Size sz2 = (Size) pt1_1;
108         
109                         AssertEquals (sz1, sz2);
110                 }
111         
112                 [Test]
113                 public void Point2PointFTest () 
114                 {
115                         PointF ptf1 = new PointF (1, 1);
116                         PointF ptf2 = pt1_1;
117         
118                         AssertEquals (ptf1, ptf2);
119                 }
120         
121                 [Test]
122                 public void ConstructorTest () 
123                 {
124                         int i = (1 << 16) + 1;
125                         Size sz = new Size (1, 1);
126                         Point pt_i = new Point (i);
127                         Point pt_sz = new Point (sz);
128         
129                         AssertEquals (pt_i, pt_sz);
130                         AssertEquals (pt_i, pt1_1);
131                         AssertEquals (pt_sz, pt1_1);
132                 }
133                 
134                 [Test]
135                 public void PropertyTest () 
136                 {
137                         Point pt = new Point (0, 0);
138         
139                         Assert (pt.IsEmpty);
140                         Assert (!pt1_1.IsEmpty);
141                         AssertEquals (1, pt1_0.X);
142                         AssertEquals (1, pt0_1.Y);
143                 }
144                 
145                 [Test]
146                 public void OffsetTest () 
147                 {
148                         Point pt = new Point (0, 0);
149                         pt.Offset (0, 1);
150                         AssertEquals (pt, pt0_1);
151                         pt.Offset (1, 0);
152                         AssertEquals (pt, pt1_1);
153                         pt.Offset (0, -1);
154                         AssertEquals (pt, pt1_0);
155                 }
156         }
157 }
158