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); }
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 }
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]); } }
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); }