@Test(expected = IllegalStateException.class)
  public void shouldThrowExceptionWhenBufferNotAligned() {
    final ByteBuffer byteBuffer = ByteBuffer.allocateDirect(1024);
    byteBuffer.position(1);
    final UnsafeBuffer buffer = new UnsafeBuffer(byteBuffer.slice());

    buffer.verifyAlignment();
  }
  @Theory
  public void shouldGetBytesIntoAtomicBufferFromAtomicBuffer(final AtomicBuffer buffer) {
    final byte[] testBytes = "Hello World".getBytes();
    final ByteBuffer srcBuffer = ByteBuffer.allocateDirect(testBytes.length);
    srcBuffer.put(testBytes).flip();

    final UnsafeBuffer srcUnsafeBuffer = new UnsafeBuffer(srcBuffer);

    srcUnsafeBuffer.getBytes(0, buffer, INDEX, testBytes.length);

    final ByteBuffer duplicateBuffer = byteBuffer(buffer);
    duplicateBuffer.position(INDEX);

    final byte[] buff = new byte[testBytes.length];
    duplicateBuffer.get(buff);

    assertThat(buff, is(testBytes));
  }