{\r
UnknownPacket packet;\r
Assert.IsTrue(GpDtm.TryParse(P.GpDtm, out packet));\r
- GpGga p = packet as GpGga;\r
+ GpDtm p = packet as GpDtm;\r
+ Assert.AreEqual(GpDtm.Code.Wgs84, p.LocalDatumCode);\r
+ Assert.AreEqual("", p.LocalDatumSubCode);\r
+ Assert.AreEqual(0.0, (double)p.Offset.Latitude);\r
+ Assert.AreEqual(0.0, (double)p.Offset.Longitude);\r
+ Assert.AreEqual(0.0, (double)p.Offset.Altitude);\r
+ Assert.AreEqual(GpDtm.Code.Wgs84, p.ReferenceDatumCode);\r
+ Assert.AreEqual(0x6F, p.CheckSum);\r
+ }\r
+\r
+ [Test]\r
+ public void GpGbsTest()\r
+ {\r
+ UnknownPacket packet;\r
+ Assert.IsTrue(GpGbs.TryParse(P.GpGbs, out packet));\r
+ GpGbs p = packet as GpGbs;\r
+ Assert.AreEqual(new TimeSpan(23, 55, 03), p.Utc);\r
+ Assert.AreEqual(1.6, (double)p.LatitudeError);\r
+ Assert.AreEqual(1.4, (double)p.LongitudeError);\r
+ Assert.AreEqual(3.2, (double)p.AltitudeError);\r
+ Assert.AreEqual(-1, p.FailedSatellite);\r
+ Assert.True(Double.IsNaN(p.ProbabilityOfMissedDetection));\r
+ Assert.True(Double.IsNaN(p.Bias));\r
+ Assert.True(Double.IsNaN(p.StandardDeviationOfBias));\r
+ Assert.AreEqual(0x40, p.CheckSum);\r
}\r
\r
[Test]\r
Assert.AreEqual(new TimeSpan(0, 9, 27, 25, 0), p.TimeOfFix);\r
Assert.AreEqual(2837.11399, p.Position.Latitude * 60.0);\r
Assert.AreEqual(513.9159, p.Position.Longitude * 60.0);\r
+ Assert.AreEqual(GpGga.FixQualityClass.Gps, p.FixQuality);\r
+ Assert.AreEqual(8, p.TrackedSatellites);\r
+ Assert.AreEqual(1.01, p.HorizontalDop);\r
+ Assert.AreEqual(499.6, (double)p.MslAltitude);\r
+ Assert.True(p.MslAltitude.IsAltitude);\r
+ Assert.AreEqual(48.0, (double)p.GeoidSeparation);\r
+ Assert.AreEqual(Height.Base.Wgs84Ellipsoid,\r
+ p.GeoidSeparation.BaseLevel);\r
+ Assert.Less(p.AgeOfDgpsCorrections.TotalSeconds, 0.0);\r
+ Assert.AreEqual(0, p.DgpsStation);\r
+ Assert.AreEqual(0x5B, p.CheckSum);\r
+ }\r
+\r
+ [Test]\r
+ public void GpGllTest()\r
+ {\r
+ UnknownPacket packet;\r
+ Assert.IsTrue(GpGll.TryParse(P.GpGll, out packet));\r
+ GpGll p = packet as GpGll;\r
+ Assert.AreEqual(2837.11364, p.Position.Latitude * 60.0);\r
+ Assert.AreEqual(513.91565, p.Position.Longitude * 60.0);\r
+ Assert.AreEqual(new TimeSpan(0, 9, 23, 21, 0), p.CurrentTime);\r
+ Assert.AreEqual(GpGll.Status.Valid, p.DataStatus);\r
+ Assert.AreEqual(GpGll.Mode.Autonomous, p.PositioningMode);\r
+ Assert.AreEqual(0x60, p.CheckSum);\r
}\r
}\r
}\r