OSDN Git Service

333ab8eb29c73d7d0022f6c97e2e7587394ed4d5
[yubeshi/yubeshi.git] / YubeshiTest / UbxTest / NavPacketTest.cs
1 /*\r
2  *      Yubeshi GPS Parser\r
3  *\r
4  *      This software is distributed under a zlib-style license.\r
5  *      See license.txt for more information.\r
6  */\r
7 \r
8 using System;\r
9 using System.Collections.Generic;\r
10 using System.Text;\r
11 using NUnit.Framework;\r
12 using Yubeshi;\r
13 using Yubeshi.Ubx;\r
14 using P = YubeshiTest.UbxTest.SamplePackets;\r
15 \r
16 namespace YubeshiTest.UbxTest\r
17 {\r
18 \r
19     class NavPacketTest\r
20     {\r
21         private readonly decimal timeOfWeek = \r
22             new TimeSpan(1, 23, 45, 6, 789).Ticks * 1e-7m;\r
23         private readonly decimal timeOfWeekHD =\r
24             new TimeSpan(1, 23, 45, 6, 789).Ticks * 1e-7m + 012345e-9m;\r
25 \r
26         [Test]\r
27         public void NavClockTest()\r
28         {\r
29             UnknownPacket packet;\r
30             Assert.IsTrue(NavClock.TryParse(P.NavClock, out packet));\r
31             NavClock p = packet as NavClock;\r
32             Assert.AreEqual(Packet.MessageID.NavClock, p.ID);\r
33         }\r
34 \r
35         [Test]\r
36         public void NavDopTest()\r
37         {\r
38             UnknownPacket packet;\r
39             Assert.IsTrue(NavDop.TryParse(P.NavDop, out packet));\r
40             NavDop p = packet as NavDop;\r
41             Assert.AreEqual(Packet.MessageID.NavDop, p.ID);\r
42         }\r
43 \r
44         [Test]\r
45         public void NavPosEcefTest()\r
46         {\r
47             UnknownPacket packet;\r
48             Assert.IsTrue(NavPosEcef.TryParse(P.NavPosEcef, out packet));\r
49             NavPosEcef p = packet as NavPosEcef;\r
50             Assert.AreEqual(Packet.MessageID.NavPosEcef, p.ID);\r
51         }\r
52 \r
53         [Test]\r
54         public void NavSolTest()\r
55         {\r
56             UnknownPacket packet;\r
57             Assert.IsTrue(NavSol.TryParse(P.NavSol, out packet));\r
58             NavSol p = packet as NavSol;\r
59             Assert.AreEqual(Packet.MessageID.NavSol, p.ID);\r
60             Assert.AreEqual(timeOfWeekHD, p.TimeOfWeek);\r
61             Assert.AreEqual(-3961181.33, p.Position.X);\r
62             Assert.AreEqual(3346187.67, p.Position.Y);\r
63             Assert.AreEqual(3702487.20, p.Position.Z);\r
64         }\r
65     }\r
66 }\r