1: /// <summary>
2: /// Summary description for UnitTest1
3: /// </summary>
4: [TestFixture]
5: public class Maps
6: {
7:
8: [Test]
9: public void DistanceSamePoint0()
10: {
11: var distance = Helper.Distance(new Coordinate() { Latitude = 90, Longitude = -90 },
12: new Coordinate() { Latitude = 90, Longitude = -90 }, UnitsOfLength.Mile);
13:
14: Assert.AreEqual(0, distance, "");
15:
16: }
17:
18: [Test]
19: public void DistanceSampleDataNauticalMiles()
20: {
21: var distance = Helper.Distance(new Coordinate() { Latitude = 45, Longitude = 0 },
22: new Coordinate() { Latitude = 0, Longitude = 45 }, UnitsOfLength.NauticalMiles);
23:
24: Assert.AreEqual(3599.8653599999993d, distance, "");
25: }
26:
27:
28: [Test]
29: public void DistanceSampleDataMiles()
30: {
31: var distance = Helper.Distance(new Coordinate() { Latitude = 45, Longitude = 0 },
32: new Coordinate() { Latitude = 0, Longitude = 45 }, UnitsOfLength.Mile);
33:
34: Assert.AreEqual(4145.3999999999996d, distance, "");
35: }
36:
37: [Test]
38: public void DistanceSampleDataKilometer()
39: {
40: var distance = Helper.Distance(new Coordinate() { Latitude = 45, Longitude = 0 },
41: new Coordinate() { Latitude = 0, Longitude = 45 }, UnitsOfLength.Kilometer);
42:
43: Assert.AreEqual(6671.3746175999995d, distance, "");
44: }
45:
46: [Test]
47: public void BearingsTests()
48: {
49: var bearing = Helper.Bearing(new Coordinate() { Latitude = 45, Longitude = 1 },
50: new Coordinate() { Latitude = 45, Longitude = 0 });
51:
52: Assert.AreEqual(270.35355787806577d, bearing, "");
53: Assert.AreEqual(CardinalPoints.W, bearing.ToCardinalMark());
54:
55: }
56:
57: [Test]
58: public void CardinalMarkValues()
59: {
60: Assert.AreEqual(CardinalPoints.N, 2D.ToCardinalMark());
61: Assert.AreEqual(CardinalPoints.NE, 46D.ToCardinalMark());
62: Assert.AreEqual(CardinalPoints.SE, 120D.ToCardinalMark());
63: Assert.AreEqual(CardinalPoints.S, 170D.ToCardinalMark());
64: Assert.AreEqual(CardinalPoints.SW, 220D.ToCardinalMark());
65: Assert.AreEqual(CardinalPoints.W, 273D.ToCardinalMark());
66: Assert.AreEqual(CardinalPoints.NW, 320D.ToCardinalMark());
67:
68: }
69:
70:
71:
72: [Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
73: public void ToCardinalMarkOutOfRange() { 390D.ToCardinalMark(); }
74:
75: [Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
76: public void CoordinateLatitudeGreater90() { var coordinate = new Coordinate() { Latitude = 100, Longitude = -90 }; }
77:
78: [Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
79: public void CoordinateLatitudeLessN90() { var coordinate = new Coordinate() { Latitude = -91, Longitude = -90 }; }
80:
81: [Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
82: public void CoordinateLongitudeGreater180() { var coordinate = new Coordinate() { Latitude = 90, Longitude = 190 }; }
83:
84: [Test, ExpectedException(typeof(ArgumentOutOfRangeException))]
85: public void CoordinateLongitudeLessN180() { var coordinate = new Coordinate() { Latitude = 90, Longitude = -190 }; }
86:
87:
88: }