1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.gnss.metric.parser;
18
19 import org.junit.jupiter.api.Assertions;
20 import org.junit.jupiter.api.Test;
21 import org.orekit.errors.OrekitException;
22 import org.orekit.errors.OrekitMessages;
23
24 public class HexadecimalSequenceEncodedMessageTest extends AbstractEncodedMessageTest {
25
26 protected EncodedMessage buildRawMessages(byte[] bytes) {
27 final StringBuilder builder = new StringBuilder();
28 for (int i = 0; i < bytes.length; ++i) {
29 int d = bytes[i] & 0xFF;
30 builder.append(Character.forDigit(d >>> 4 & 0xF, 16));
31 builder.append(Character.forDigit(d & 0xF, 16));
32 }
33 return new HexadecimalSequenceEncodedMessage(builder);
34 }
35
36 @Test
37 public void testString() {
38 final EncodedMessage message = new HexadecimalSequenceEncodedMessage("0BFF3480AA");
39 message.start();
40 Assertions.assertEquals(0x0b, message.extractBits(8));
41 Assertions.assertEquals(0xff34, message.extractBits(16));
42 Assertions.assertEquals(0x8, message.extractBits(4));
43 Assertions.assertEquals(0x0, message.extractBits(4));
44 Assertions.assertEquals(0xaa, message.extractBits(8));
45 try {
46 message.extractBits(1);
47 Assertions.fail("an exception should have been thrown");
48 } catch (OrekitException oe) {
49 Assertions.assertEquals(OrekitMessages.END_OF_ENCODED_MESSAGE, oe.getSpecifier());
50 }
51 }
52
53 }