Refactored BoatLocation message, encoders, decoders. It now exposes datatypes that we actually use in the program (double knots, bearings, etc..), instead of the bits-on-the-wire packed units (like int mmPerSec). Also documented it, and updated test.
issue #35 #36 #story[1095]
This commit is contained in:
@@ -2,8 +2,11 @@ package network.MessageDecoders;
|
||||
|
||||
import network.MessageEncoders.RaceVisionByteEncoder;
|
||||
import network.Messages.BoatLocation;
|
||||
import network.Messages.Enums.BoatLocationDeviceEnum;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import shared.model.Azimuth;
|
||||
import shared.model.Bearing;
|
||||
|
||||
|
||||
/**
|
||||
@@ -23,28 +26,28 @@ public class BoatLocationDecoderTest {
|
||||
long time = System.currentTimeMillis();
|
||||
|
||||
BoatLocation testMessage = new BoatLocation(
|
||||
(byte) 1,
|
||||
BoatLocation.currentMessageVersionNumber,
|
||||
time,
|
||||
2,
|
||||
3,
|
||||
(byte) 1,
|
||||
BoatLocationDeviceEnum.RacingYacht,
|
||||
180,
|
||||
-180,
|
||||
4,
|
||||
5,
|
||||
Bearing.fromDegrees(45),
|
||||
(short) 6,
|
||||
(short) 7,
|
||||
8,
|
||||
9,
|
||||
Bearing.fromDegrees(40),
|
||||
10,
|
||||
11,
|
||||
(short) 12,
|
||||
Azimuth.fromDegrees(35),
|
||||
13,
|
||||
14,
|
||||
(short) 15,
|
||||
Bearing.fromDegrees(80),
|
||||
Azimuth.fromDegrees(80),
|
||||
16,
|
||||
17,
|
||||
(short) 18 );
|
||||
Bearing.fromDegrees(80),
|
||||
Azimuth.fromDegrees(22) );
|
||||
|
||||
//Encode.
|
||||
byte [] testEncodedMessage = RaceVisionByteEncoder.encode(testMessage);
|
||||
@@ -58,22 +61,22 @@ public class BoatLocationDecoderTest {
|
||||
Assert.assertEquals(testMessage.getTime(), decodedTest.getTime());
|
||||
Assert.assertEquals(testMessage.getSequenceNumber(), decodedTest.getSequenceNumber());
|
||||
Assert.assertEquals(testMessage.getDeviceType(), decodedTest.getDeviceType());
|
||||
Assert.assertEquals(testMessage.getLatitude(), decodedTest.getLatitude());
|
||||
Assert.assertEquals(testMessage.getLongitude(), decodedTest.getLongitude());
|
||||
Assert.assertEquals(testMessage.getLatitude(), decodedTest.getLatitude(), 0.01);
|
||||
Assert.assertEquals(testMessage.getLongitude(), decodedTest.getLongitude(), 0.01);
|
||||
Assert.assertEquals(testMessage.getAltitude(), decodedTest.getAltitude());
|
||||
Assert.assertEquals(testMessage.getHeading(), decodedTest.getHeading());
|
||||
Assert.assertEquals(testMessage.getHeading().degrees(), decodedTest.getHeading().degrees(), 0.01);
|
||||
Assert.assertEquals(testMessage.getPitch(), decodedTest.getPitch());
|
||||
Assert.assertEquals(testMessage.getRoll(), decodedTest.getRoll());
|
||||
Assert.assertEquals(testMessage.getBoatSpeed(), decodedTest.getBoatSpeed());
|
||||
Assert.assertEquals(testMessage.getBoatSpeedKnots(), decodedTest.getBoatSpeedKnots(), 0.01);
|
||||
|
||||
Assert.assertEquals(testMessage.getBoatCOG(), decodedTest.getBoatCOG());
|
||||
Assert.assertEquals(testMessage.getBoatSOG(), decodedTest.getBoatSOG());
|
||||
Assert.assertEquals(testMessage.getApparentWindSpeed(), decodedTest.getApparentWindSpeed());
|
||||
Assert.assertEquals(testMessage.getTrueWindSpeed(), decodedTest.getTrueWindSpeed());
|
||||
Assert.assertEquals(testMessage.getTrueWindDirection(), decodedTest.getTrueWindDirection());
|
||||
Assert.assertEquals(testMessage.getTrueWindAngle(), decodedTest.getTrueWindAngle());
|
||||
Assert.assertEquals(testMessage.getCurrentDrift(), decodedTest.getCurrentDrift());
|
||||
Assert.assertEquals(testMessage.getCurrentSet(), decodedTest.getCurrentSet());
|
||||
Assert.assertEquals(testMessage.getRudderAngle(), decodedTest.getRudderAngle());
|
||||
Assert.assertEquals(testMessage.getBoatCOG().degrees(), decodedTest.getBoatCOG().degrees(), 0.01);
|
||||
Assert.assertEquals(testMessage.getBoatSOGKnots(), decodedTest.getBoatSOGKnots(), 0.01);
|
||||
Assert.assertEquals(testMessage.getApparentWindSpeedKnots(), decodedTest.getApparentWindSpeedKnots(), 0.01);
|
||||
Assert.assertEquals(testMessage.getTrueWindSpeedKnots(), decodedTest.getTrueWindSpeedKnots(), 0.01);
|
||||
Assert.assertEquals(testMessage.getTrueWindDirection().degrees(), decodedTest.getTrueWindDirection().degrees(), 0.01);
|
||||
Assert.assertEquals(testMessage.getTrueWindAngle().degrees(), decodedTest.getTrueWindAngle().degrees(), 0.01);
|
||||
Assert.assertEquals(testMessage.getCurrentDriftKnots(), decodedTest.getCurrentDriftKnots(), 0.01);
|
||||
Assert.assertEquals(testMessage.getCurrentSet().degrees(), decodedTest.getCurrentSet().degrees(), 0.01);
|
||||
Assert.assertEquals(testMessage.getRudderAngle().degrees(), decodedTest.getRudderAngle().degrees(), 0.01);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user