Пример #1
0
  @Test
  public void shouldMarshalAllNumbers() throws IOException {
    ShortNumbers sn = new ShortNumbers();
    sn.setI8((byte) 5);
    sn.setU8((short) 200);
    sn.setI16((short) 1000);
    sn.setU16(50000);

    LongNumbers ln = new LongNumbers();
    ln.setI32(-100000);
    ln.setU32(3_000_000_000L);
    ln.setI24(5_000_000);
    ln.setU24(10_000_000);

    AllNumbers an = new AllNumbers();
    an.setShortNumbers(sn);
    an.setLongNumbers(ln);

    ByteArrayOutputStream os = new ByteArrayOutputStream();
    Marshaller marshaller = dadlContext.createMarshaller();
    marshaller.marshal(an, os);
    byte[] bytes = os.toByteArray();
    assertThat(bytes.length, is(20));

    ByteArrayBitStreamReader reader = new ByteArrayBitStreamReader(bytes);
    assertThat(reader.readByte(), is((byte) 5));
    assertThat(reader.readUnsignedByte(), is(200));
    assertThat(reader.readShort(), is((short) 1000));
    assertThat(reader.readUnsignedShort(), is(50000));
    assertThat(reader.readBits(24), is(5_000_000L));
    assertThat(reader.readBits(24), is(10_000_000L));
    assertThat(reader.readInt(), is(-100000));
    assertThat(reader.readUnsignedInt(), is(3_000_000_000L));
    reader.close();
  }
Пример #2
0
  @Test
  public void shouldMarshalWithPadding() throws Exception {
    PaddedInner inner = new PaddedInner();
    inner.setA(12);
    inner.setB(34);
    PaddedOuter outer = new PaddedOuter();
    outer.setInner(inner);
    outer.setC(56);

    Marshaller marshaller = dadlContext.createMarshaller();
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    marshaller.marshal(outer, os);
    assertThat(os.toByteArray().length, is(11));

    ByteArrayBitStreamReader reader = new ByteArrayBitStreamReader(os.toByteArray());
    assertThat(reader.readShort(), is((short) 12));
    assertThat(reader.readShort(), is((short) 34));
    reader.skipBytes(5);
    assertThat(reader.readShort(), is((short) 56));
    reader.close();
  }
Пример #3
0
 @Test
 public void shouldMarshalBcdSequence() throws Exception {
   BcdSequence bcdSequence = new BcdSequence();
   bcdSequence.setI16(9999);
   bcdSequence.setBcd(2011);
   Marshaller marshaller = dadlContext.createMarshaller();
   ByteArrayOutputStream os = new ByteArrayOutputStream();
   marshaller.marshal(bcdSequence, os);
   assertThat(os.toByteArray().length, is(4));
   ByteArrayBitStreamReader reader = new ByteArrayBitStreamReader(os.toByteArray());
   assertThat(reader.readShort(), is((short) 9999));
   assertThat(reader.readByte(), is((byte) 0x20));
   assertThat(reader.readByte(), is((byte) 0x11));
   reader.close();
 }