package dk.dma.ais.message;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import dk.dma.ais.binary.SixbitException;
import dk.dma.ais.sentence.SentenceException;
import dk.dma.ais.sentence.Vdm;
public class AisMessage4Test {
@Test(expected = AisMessageException.class)
public void test() throws AisMessageException, SixbitException, SentenceException {
Vdm vdm = new Vdm();
vdm.parse(
"!AIVDM,1,1,,A,401uEPQuK0P230Cl=6MEqEi000S:00,4*61"
);
AisMessage.getInstance(vdm);
}
@Test
public void test2() throws AisMessageException, SixbitException, SentenceException {
Vdm vdm = new Vdm();
vdm.parse(
"!AIVDM,1,1,,A,402R3WiuH@jaaPtgjhOgcA7000S:,0*7D"
);
AisMessage message = AisMessage.getInstance(vdm);
assertTrue(message instanceof AisMessage4);
AisMessage4 msg4 = (AisMessage4) message;
assertEquals(2655135, msg4.getUserId());
assertEquals(4, msg4.getMsgId());
assertEquals(new AisPosition(33286980,7962200), msg4.getPos());
assertEquals(1, msg4.getPosAcc());
assertEquals(7, msg4.getPosType());
assertEquals(1136140901L, msg4.getDate().toInstant().getEpochSecond());
assertEquals(1, msg4.getUtcDay());
assertEquals(18, msg4.getUtcHour());
assertEquals(41, msg4.getUtcMinute());
assertEquals(41, msg4.getUtcSecond());
assertEquals(1, msg4.getUtcMonth());
assertEquals(2006, msg4.getUtcYear());
}
}