コード例 #1
0
        public void BlankUnmarshalTest()
        {
            // Unmarshal NCOM data
            NcomPacketA pkt = new NcomPacketA();

            pkt.Unmarshal(blankNcomBytes, 0);

            // Everything should be zero
            Assert.AreEqual(0, pkt.Time);
            Assert.AreEqual(0, pkt.AccelerationX);
            Assert.AreEqual(0, pkt.AccelerationY);
            Assert.AreEqual(0, pkt.AccelerationZ);
            Assert.AreEqual(0, pkt.AngularRateX);
            Assert.AreEqual(0, pkt.AngularRateY);
            Assert.AreEqual(0, pkt.AngularRateZ);
            Assert.AreEqual(0, (byte)pkt.NavigationStatus);
            Assert.AreEqual(0, pkt.Latitude);
            Assert.AreEqual(0, pkt.Longitude);
            Assert.AreEqual(0, pkt.Altitude);
            Assert.AreEqual(0, pkt.NorthVelocity);
            Assert.AreEqual(0, pkt.EastVelocity);
            Assert.AreEqual(0, pkt.DownVelocity);
            Assert.AreEqual(0, pkt.Heading);
            Assert.AreEqual(0, pkt.Pitch);
            Assert.AreEqual(0, pkt.Roll);
            Assert.AreEqual(0, pkt.StatusChannel.StatusChannelByte);

            StatusChannel0 chan = pkt.StatusChannel as StatusChannel0;

            Assert.AreEqual(0, chan.FullTime);
            Assert.AreEqual(0, chan.NumberOfSatellites);
            Assert.AreEqual(0, (byte)chan.PositionMode);
            Assert.AreEqual(0, (byte)chan.VelocityMode);
            Assert.AreEqual(0, (byte)chan.OrientationMode);
        }
コード例 #2
0
        public void TestEquals()
        {
            // Create ncom packets
            NcomPacketA[] pkts = new NcomPacketA[2];
            for (int i = 0; i < pkts.Length; i++)
            {
                pkts[i] = new NcomPacketA()
                {
                    Time             = 1,
                    AccelerationX    = 2,
                    AccelerationY    = 3,
                    AccelerationZ    = 4,
                    AngularRateX     = 5,
                    AngularRateY     = 6,
                    AngularRateZ     = 7,
                    NavigationStatus = Enumerations.NavigationStatus.Locked,
                    Latitude         = 8,
                    Longitude        = 9,
                    Altitude         = 10,
                    NorthVelocity    = 11,
                    EastVelocity     = 12,
                    DownVelocity     = 13,
                    Heading          = 14,
                    Pitch            = 15,
                    Roll             = 16,
                    StatusChannel    = new StatusChannel0()
                    {
                        FullTime           = 17,
                        NumberOfSatellites = 18,
                        PositionMode       = Enumerations.PositionVelocityOrientationMode.CDGPS,
                        VelocityMode       = Enumerations.PositionVelocityOrientationMode.Blanked,
                        OrientationMode    = Enumerations.PositionVelocityOrientationMode.Doppler
                    }
                };
            }

            // Test not equal to null reference
            Assert.AreNotEqual(pkts[0], null);

            // Test same object
            Assert.AreEqual(pkts[0], pkts[0]);

            // Test 2 different objects
            Assert.AreEqual(pkts[0], pkts[1]);
            Assert.AreEqual(pkts[1], pkts[0]);     // Transitive

            // Change one packet
            pkts[1].Time = 0;
            Assert.AreNotEqual(pkts[0], pkts[1]);
            Assert.AreNotEqual(pkts[1], pkts[0]);     // Transitive
        }
コード例 #3
0
        public void BlankMarshalTest()
        {
            // Create a blank NCOM structure A packet
            NcomPacketA ncom = new NcomPacketA()
            {
                Time             = 0,
                AccelerationX    = 0,
                AccelerationY    = 0,
                AccelerationZ    = 0,
                AngularRateX     = 0,
                AngularRateY     = 0,
                AngularRateZ     = 0,
                NavigationStatus = Enumerations.NavigationStatus.Invalid,
                Latitude         = 0,
                Longitude        = 0,
                Altitude         = 0,
                NorthVelocity    = 0,
                EastVelocity     = 0,
                DownVelocity     = 0,
                Heading          = 0,
                Pitch            = 0,
                Roll             = 0,
                StatusChannel    = new StatusChannel0()
                {
                    FullTime           = 0,
                    NumberOfSatellites = 0,
                    PositionMode       = Enumerations.PositionVelocityOrientationMode.None,
                    VelocityMode       = Enumerations.PositionVelocityOrientationMode.None,
                    OrientationMode    = Enumerations.PositionVelocityOrientationMode.None
                }
            };

            // Marshal
            byte[] marshalled = ncom.Marshal();

            // Check 2 arrays are equal
            for (int i = 0; i < marshalled.Length; i++)
            {
                Assert.AreEqual(blankNcomBytes[i], marshalled[i]);
            }
        }
コード例 #4
0
        public void CopyConstructorTest()
        {
            // Create an NCOM structure A packet
            NcomPacketA pkt1 = new NcomPacketA()
            {
                Time             = 1,
                AccelerationX    = 2,
                AccelerationY    = 3,
                AccelerationZ    = 4,
                AngularRateX     = 5,
                AngularRateY     = 6,
                AngularRateZ     = 7,
                NavigationStatus = Enumerations.NavigationStatus.Locked,
                Latitude         = 8,
                Longitude        = 9,
                Altitude         = 10,
                NorthVelocity    = 11,
                EastVelocity     = 12,
                DownVelocity     = 13,
                Heading          = 14,
                Pitch            = 15,
                Roll             = 16,
                StatusChannel    = new StatusChannel0()
                {
                    FullTime           = 17,
                    NumberOfSatellites = 18,
                    PositionMode       = Enumerations.PositionVelocityOrientationMode.CDGPS,
                    VelocityMode       = Enumerations.PositionVelocityOrientationMode.Blanked,
                    OrientationMode    = Enumerations.PositionVelocityOrientationMode.Doppler
                }
            };

            // Copy it
            NcomPacketA pkt2 = new NcomPacketA(pkt1);

            // Are they equal?
            Assert.AreEqual(pkt1, pkt2);
        }