Skip to content

Commit 697cb98

Browse files
committed
Added Tests/AreaTests.cs.
1 parent be2e50c commit 697cb98

File tree

2 files changed

+124
-0
lines changed

2 files changed

+124
-0
lines changed

Tests/AreaTests.cs

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
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+
}

Tests/UnitsNet.Tests.net35.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
<Reference Include="System.Xml" />
4545
</ItemGroup>
4646
<ItemGroup>
47+
<Compile Include="AreaTests.cs" />
4748
<Compile Include="VolumeTests.cs" />
4849
<Compile Include="Length2dTests.cs" />
4950
<Compile Include="LengthTests.cs" />

0 commit comments

Comments
 (0)