OSDN Git Service

基準レベルを指定可能な高さクラスを追加
[yubeshi/yubeshi.git] / YubeshiTest / HeightTest.cs
diff --git a/YubeshiTest/HeightTest.cs b/YubeshiTest/HeightTest.cs
new file mode 100755 (executable)
index 0000000..6cf2755
--- /dev/null
@@ -0,0 +1,65 @@
+/*\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