1
+ using System ;
2
+ using NUnit . Framework ;
3
+
4
+ namespace UnitsNet . Tests . net35
5
+ {
6
+ [ TestFixture ]
7
+ public class AreaTests
8
+ {
9
+ private const double Delta = 1E-5 ;
10
+ private readonly Area _squareMeter = Area . FromSquareMeters ( 1 ) ;
11
+
12
+ [ Test ]
13
+ public void SquareMetersToAreaUnits ( )
14
+ {
15
+ Assert . AreEqual ( 1E-6 , _squareMeter . SquareKilometers , Delta ) ;
16
+ Assert . AreEqual ( 1 , _squareMeter . SquareMeters , Delta ) ;
17
+ Assert . AreEqual ( 1E2 , _squareMeter . SquareDecimeters , Delta ) ;
18
+ Assert . AreEqual ( 1E4 , _squareMeter . SquareCentimeters , Delta ) ;
19
+ Assert . AreEqual ( 1E6 , _squareMeter . SquareMillimeters , Delta ) ;
20
+ }
21
+
22
+ [ Test ]
23
+ public void AreaUnitsRoundTrip ( )
24
+ {
25
+ Assert . AreEqual ( 1 , Area . FromSquareKilometers ( _squareMeter . SquareKilometers ) . SquareMeters , Delta ) ;
26
+ Assert . AreEqual ( 1 , Area . FromSquareMeters ( _squareMeter . SquareMeters ) . SquareMeters , Delta ) ;
27
+ Assert . AreEqual ( 1 , Area . FromSquareDecimeters ( _squareMeter . SquareDecimeters ) . SquareMeters , Delta ) ;
28
+ Assert . AreEqual ( 1 , Area . FromSquareCentimeters ( _squareMeter . SquareCentimeters ) . SquareMeters , Delta ) ;
29
+ Assert . AreEqual ( 1 , Area . FromSquareMillimeters ( _squareMeter . SquareMillimeters ) . SquareMeters , Delta ) ;
30
+ }
31
+
32
+ [ Test ]
33
+ public void ArithmeticOperatorsRoundtrip ( )
34
+ {
35
+ Area v = Area . FromSquareCentimeters ( 1 ) ;
36
+ Assert . AreEqual ( - 1 , - v . SquareCentimeters , Delta ) ;
37
+ Assert . AreEqual ( 2 , ( Area . FromSquareCentimeters ( 3 ) - v ) . SquareCentimeters , Delta ) ;
38
+ Assert . AreEqual ( 2 , ( v + v ) . SquareCentimeters , Delta ) ;
39
+ Assert . AreEqual ( 10 , ( v * 10 ) . SquareCentimeters , Delta ) ;
40
+ Assert . AreEqual ( 10 , ( 10 * v ) . SquareCentimeters , Delta ) ;
41
+ Assert . AreEqual ( 2 , ( Area . FromSquareCentimeters ( 10 ) / 5 ) . SquareCentimeters , Delta ) ;
42
+ Assert . AreEqual ( 2 , Area . FromSquareCentimeters ( 10 ) / Area . FromSquareCentimeters ( 5 ) , Delta ) ;
43
+ }
44
+
45
+ [ Test ]
46
+ public void ComparisonOperators ( )
47
+ {
48
+ Area oneSquareMeter = Area . FromSquareMeters ( 1 ) ;
49
+ Area twoSquareMeters = Area . FromSquareMeters ( 2 ) ;
50
+
51
+ Assert . True ( oneSquareMeter < twoSquareMeters ) ;
52
+ Assert . True ( oneSquareMeter <= twoSquareMeters ) ;
53
+ Assert . True ( twoSquareMeters > oneSquareMeter ) ;
54
+ Assert . True ( twoSquareMeters >= oneSquareMeter ) ;
55
+
56
+ Assert . False ( oneSquareMeter > twoSquareMeters ) ;
57
+ Assert . False ( oneSquareMeter >= twoSquareMeters ) ;
58
+ Assert . False ( twoSquareMeters < oneSquareMeter ) ;
59
+ Assert . False ( twoSquareMeters <= oneSquareMeter ) ;
60
+ }
61
+
62
+ [ Test ]
63
+ public void CompareToIsImplemented ( )
64
+ {
65
+ Area meter = Area . FromSquareMeters ( 1 ) ;
66
+ Assert . AreEqual ( 0 , meter . CompareTo ( meter ) ) ;
67
+ Assert . Greater ( meter . CompareTo ( Area . Zero ) , 0 ) ;
68
+ Assert . Less ( Area . Zero . CompareTo ( meter ) , 0 ) ;
69
+ }
70
+
71
+ [ Test ]
72
+ [ ExpectedException ( typeof ( ArgumentException ) ) ]
73
+ public void CompareToThrowsOnTypeMismatch ( )
74
+ {
75
+ Area meter = Area . FromSquareMeters ( 1 ) ;
76
+ meter . CompareTo ( new object ( ) ) ;
77
+ }
78
+
79
+ [ Test ]
80
+ [ ExpectedException ( typeof ( ArgumentNullException ) ) ]
81
+ public void CompareToThrowsOnNull ( )
82
+ {
83
+ Area meter = Area . FromSquareMeters ( 1 ) ;
84
+ meter . CompareTo ( null ) ;
85
+ }
86
+
87
+
88
+ [ Test ]
89
+ public void EqualityOperators ( )
90
+ {
91
+ Area a = Area . FromSquareMeters ( 1 ) ;
92
+ Area b = Area . FromSquareMeters ( 2 ) ;
93
+
94
+ Assert . True ( a == a ) ;
95
+ Assert . True ( a != b ) ;
96
+
97
+ Assert . False ( a == b ) ;
98
+ Assert . False ( a != a ) ;
99
+ }
100
+
101
+ [ Test ]
102
+ public void EqualsIsImplemented ( )
103
+ {
104
+ Area v = Area . FromSquareMeters ( 1 ) ;
105
+ Assert . IsTrue ( v . Equals ( Area . FromSquareMeters ( 1 ) ) ) ;
106
+ Assert . IsFalse ( v . Equals ( Area . Zero ) ) ;
107
+ }
108
+
109
+ [ Test ]
110
+ public void EqualsReturnsFalseOnTypeMismatch ( )
111
+ {
112
+ Area meter = Area . FromSquareMeters ( 1 ) ;
113
+ Assert . IsFalse ( meter . Equals ( new object ( ) ) ) ;
114
+ }
115
+
116
+ [ Test ]
117
+ public void EqualsReturnsFalseOnNull ( )
118
+ {
119
+ Area meter = Area . FromSquareMeters ( 1 ) ;
120
+ Assert . IsFalse ( meter . Equals ( null ) ) ;
121
+ }
122
+ }
123
+ }
0 commit comments