Пример #1
0
 @Test
 public void throwIfStringNotUTF8() throws IOException {
   thrown.expect(CharacterCodingException.class);
   BserSerializer serializer = new BserSerializer();
   // UTF-8 cannot legally represent half of a surrogate pair, so this should throw.
   serializer.serializeToBuffer("\uDC00", buffer);
 }
Пример #2
0
 @Test
 public void throwIfMapKeyNotString() throws IOException {
   thrown.expect(IOException.class);
   thrown.expectMessage("Unrecognized map key type class java.lang.Integer, expected string");
   BserSerializer serializer = new BserSerializer();
   serializer.serializeToBuffer(ImmutableMap.of(0, 1), buffer);
 }
Пример #3
0
 private ByteBuffer assertEncodingMatches(Object object, String base16) throws IOException {
   BserSerializer serializer = new BserSerializer();
   ByteBuffer result = serializer.serializeToBuffer(object, buffer);
   result.flip();
   byte[] base16Array = BaseEncoding.base16().decode(base16);
   assertThat(
       String.format(
           "Encoded buffer mismatch (%s != %s)",
           base16,
           BaseEncoding.base16().encode(result.array(), result.position(), result.limit())),
       result,
       equalTo(ByteBuffer.wrap(base16Array)));
   return result;
 }
Пример #4
0
 @Test
 public void largeObjectAllocatesNewBuffer() throws IOException {
   BserSerializer serializer = new BserSerializer();
   ByteBuffer result = serializer.serializeToBuffer(Strings.repeat("X", 10000), buffer);
   assertThat(result, is(not(sameInstance(buffer))));
 }
Пример #5
0
 @Test
 public void smallObjectReusesInputBuffer() throws IOException {
   BserSerializer serializer = new BserSerializer();
   ByteBuffer result = serializer.serializeToBuffer(true, buffer);
   assertThat(result, is(sameInstance(buffer)));
 }