Esempio n. 1
0
  @Test
  public void stringSerialization() {
    // Characters
    DataOutput out = serialize.getDataOutput(((int) Character.MAX_VALUE) * 2 + 8, true);
    for (char c = Character.MIN_VALUE; c < Character.MAX_VALUE; c++) {
      out.writeObjectNotNull(Character.valueOf(c));
    }
    ReadBuffer b = out.getStaticBuffer().asReadBuffer();
    for (char c = Character.MIN_VALUE; c < Character.MAX_VALUE; c++) {
      assertEquals(c, serialize.readObjectNotNull(b, Character.class).charValue());
    }

    // String
    for (int t = 0; t < 10000; t++) {
      DataOutput out1 = serialize.getDataOutput(32 + 5, true);
      DataOutput out2 = serialize.getDataOutput(32 + 5, true);
      String s1 = RandomGenerator.randomString(1, 32);
      String s2 = RandomGenerator.randomString(1, 32);
      out1.writeObjectNotNull(s1);
      out2.writeObjectNotNull(s2);
      StaticBuffer b1 = out1.getStaticBuffer();
      StaticBuffer b2 = out2.getStaticBuffer();
      assertEquals(s1, serialize.readObjectNotNull(b1.asReadBuffer(), String.class));
      assertEquals(s2, serialize.readObjectNotNull(b2.asReadBuffer(), String.class));
      assertEquals(
          s1 + " vs " + s2, Integer.signum(s1.compareTo(s2)), Integer.signum(b1.compareTo(b2)));
    }
  }