--- /dev/null
+/*\r
+ * Yubeshi GPS Parser\r
+ *\r
+ * This software is distributed under a zlib-style license.\r
+ * See license.txt for more information.\r
+ */\r
+\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Text;\r
+using NUnit.Framework;\r
+using Yubeshi;\r
+\r
+namespace YubeshiTest\r
+{\r
+ [TestFixture]\r
+ class HeightTest\r
+ {\r
+\r
+ [Test]\r
+ public void FromDouble()\r
+ {\r
+ Height h = new Height(123.45);\r
+ Assert.AreEqual(123.45, (double)h);\r
+ Assert.AreEqual(Height.Base.Unknown, h.BaseLevel);\r
+ }\r
+\r
+ [Test]\r
+ public void Add()\r
+ {\r
+ Height h = new Height(123.45, Height.Base.Wgs84Ellipsoid);\r
+ Height ha = h + 1.0;\r
+ ha = 2.0 + ha;\r
+ Assert.AreEqual(126.45, (double)ha);\r
+ Assert.AreEqual(Height.Base.Wgs84Ellipsoid, ha.BaseLevel);\r
+ }\r
+\r
+ [Test]\r
+ public void Sub()\r
+ {\r
+ Height h1 = new Height(123.45, Height.Base.Wgs84Ellipsoid);\r
+ Height h2 = new Height(67.89, Height.Base.Wgs84Ellipsoid);\r
+\r
+ double hs = h1 - h2;\r
+ Assert.AreEqual(55.56, (double)hs);\r
+ }\r
+\r
+ [Test]\r
+ [ExpectedException(typeof(InvalidOperationException))]\r
+ public void InvalidSub()\r
+ {\r
+ Height h1 = new Height(123.45, Height.Base.Wgs84Ellipsoid);\r
+ Height h2 = new Height(67.89, Height.Base.Geoid);\r
+ double hs = h1 - h2;\r
+ }\r
+\r
+ [Test]\r
+ public void IsAltitude()\r
+ {\r
+ Assert.True(new Height(0, Height.Base.Geoid).IsAltitude);\r
+ Assert.True(new Height(1, Height.Base.MeanSeaLevel).IsAltitude);\r
+ Assert.False(new Height(2, Height.Base.Wgs84Ellipsoid).IsAltitude);\r
+ }\r
+ }\r
+}\r