@Test
public void testsetLong() throws Exception {

    //given
    final long l0 = 0x4567890123456789L;
    final long l1 = 0x1234567890123456L;
    //when
    final Pointer<Long> longPointer = Pointer.nref(l0,
                                                   l1);
    //then
    assertThat(JNITestUtil.getByte(longPointer.address)).isEqualTo((byte) 0x89);
    assertThat(JNITestUtil.getByte(longPointer.address + 1)).isEqualTo((byte) 0x67);
    assertThat(JNITestUtil.getByte(longPointer.address + 2)).isEqualTo((byte) 0x45);
    assertThat(JNITestUtil.getByte(longPointer.address + 3)).isEqualTo((byte) 0x23);
    assertThat(JNITestUtil.getByte(longPointer.address + 4)).isEqualTo((byte) 0x01);
    assertThat(JNITestUtil.getByte(longPointer.address + 5)).isEqualTo((byte) 0x89);
    assertThat(JNITestUtil.getByte(longPointer.address + 6)).isEqualTo((byte) 0x67);
    assertThat(JNITestUtil.getByte(longPointer.address + 7)).isEqualTo((byte) 0x45);
    assertThat(JNITestUtil.getByte(longPointer.address + 8)).isEqualTo((byte) 0x56);
    assertThat(JNITestUtil.getByte(longPointer.address + 9)).isEqualTo((byte) 0x34);
    assertThat(JNITestUtil.getByte(longPointer.address + 10)).isEqualTo((byte) 0x12);
    assertThat(JNITestUtil.getByte(longPointer.address + 11)).isEqualTo((byte) 0x90);
    assertThat(JNITestUtil.getByte(longPointer.address + 12)).isEqualTo((byte) 0x78);
    assertThat(JNITestUtil.getByte(longPointer.address + 13)).isEqualTo((byte) 0x56);
    assertThat(JNITestUtil.getByte(longPointer.address + 14)).isEqualTo((byte) 0x34);
    assertThat(JNITestUtil.getByte(longPointer.address + 15)).isEqualTo((byte) 0x12);
}