Added YachtEvent message with encoder and decoder

- Updated Encoder and Decoder factories for the new message type
- Added an enum for handling yacht event types

#story[1100]
This commit is contained in:
Connor Taylor-Brown
2017-08-17 01:10:55 +12:00
parent f7d0e9d466
commit f8150ef449
7 changed files with 214 additions and 2 deletions
@@ -0,0 +1,47 @@
package network.MessageDecoders;
import network.MessageEncoders.RaceVisionByteEncoder;
import network.Messages.Enums.YachtEventEnum;
import network.Messages.YachtEvent;
import org.junit.Before;
import org.junit.Test;
import static org.testng.Assert.*;
/**
* Tests for the YachtEvent decoder and encoder
*/
public class YachtEventCodeDecoderTest {
private YachtEvent decodedMessage;
private YachtEvent originalMessage;
@Before
public void setUp() throws Exception {
long timestamp = System.currentTimeMillis();
originalMessage = new YachtEvent(
timestamp,
55,
35,
0,
1,
YachtEventEnum.COLLISION
);
byte[] encodedMessage = RaceVisionByteEncoder.encode(originalMessage);
YachtEventCodeDecoder testDecoder = new YachtEventCodeDecoder();
testDecoder.decode(encodedMessage);
decodedMessage = testDecoder.getMessage();
}
@Test
public void decodingEqualsOriginal() {
assertEquals(originalMessage.getCurrentTime(), decodedMessage.getCurrentTime());
assertEquals(originalMessage.getAckNum(), decodedMessage.getAckNum());
assertEquals(originalMessage.getRaceID(), decodedMessage.getRaceID());
assertEquals(originalMessage.getSourceID(), decodedMessage.getSourceID());
assertEquals(originalMessage.getIncidentID(), decodedMessage.getIncidentID());
assertEquals(originalMessage.getYachtEvent(), decodedMessage.getYachtEvent());
}
}