using System.Text;\r
using NUnit.Framework;\r
using Yubeshi;\r
+using C = YubeshiTest.SampleCoordinates;\r
\r
namespace YubeshiTest\r
{\r
class EnuCoordinateTest\r
{\r
-\r
+ private static double metreError = 1e-9; // 1nm\r
[Test]\r
public void ZeroDistance()\r
{\r
- GeodeticCoordinate c = \r
- new GeodeticCoordinate(35.710058, 139.810719, 634.0);\r
- EnuCoordinate enu = new EnuCoordinate(c, c);\r
+ EnuCoordinate enu = new EnuCoordinate(C.SkyTreeTop, C.SkyTreeTop);\r
Assert.AreEqual(0.0, enu.E);\r
Assert.AreEqual(0.0, enu.N);\r
Assert.AreEqual(0.0, enu.U);\r
[Test]\r
public void UpOnly()\r
{\r
- GeodeticCoordinate c1 = \r
- new GeodeticCoordinate(35.710058, 139.810719, 634.0);\r
- GeodeticCoordinate c2 =\r
- new GeodeticCoordinate(35.710058, 139.810719, 0.0);\r
- EnuCoordinate enu = new EnuCoordinate(c1, c2);\r
+ EnuCoordinate enu = new EnuCoordinate(\r
+ C.SkyTreeTop, C.SkyTreeBottom);\r
\r
- Assert.AreEqual(0.0, enu.E, 1e-9);\r
- Assert.AreEqual(0.0, enu.N, 1e-9);\r
- Assert.AreEqual(634.0, enu.U, 1e-9);\r
+ Assert.AreEqual(0.0, enu.E, metreError);\r
+ Assert.AreEqual(0.0, enu.N, metreError);\r
+ Assert.AreEqual(634.0, enu.U, metreError);\r
}\r
\r
[Test]\r
public void TwoPoints()\r
{\r
- GeodeticCoordinate c1 =\r
- new GeodeticCoordinate(35.710058, 139.810719, 634.0);\r
- GeodeticCoordinate c2 =\r
- new GeodeticCoordinate(35.658611, 139.745556, 351.0);\r
+ GeodeticCoordinate c1 = C.SkyTreeTop;\r
+ GeodeticCoordinate c2 = C.TokyoTowerTop;\r
GeodeticCoordinate c0 = new GeodeticCoordinate(\r
0.5 * (c1.Latitude + c2.Latitude),\r
0.5 * (c1.Longitude + c2.Longitude),\r
Assert.AreEqual(45.946, direction, 1.0 / 60.0);\r
Assert.AreEqual(283.0, du, 1e-3);\r
}\r
+\r
+ [Test]\r
+ public void ToEcefCoordinate()\r
+ {\r
+ EnuCoordinate enu = new EnuCoordinate(\r
+ C.SkyTreeTop, C.TokyoTowerTop);\r
+ EcefCoordinate ecef1 = enu.ToEcefCoordinate();\r
+ EcefCoordinate ecef2 = C.SkyTreeTop.ToEcefCoordinate();\r
+\r
+ Assert.AreEqual(ecef2.X, ecef1.X, metreError);\r
+ Assert.AreEqual(ecef2.Y, ecef1.Y, metreError);\r
+ Assert.AreEqual(ecef2.Z, ecef1.Z, metreError);\r
+ }\r
}\r
}\r