@Test
public void testSymbols() {

    //given
    final long readGlobalVarSymbol = Testing.readGlobalVar();
    final Pointer<ReadGlobalVarFunc> readGlobalVarFuncPointer = wrap(ReadGlobalVarFunc.class,
                                                                     readGlobalVarSymbol);
    final long globalvarSymbol = Testing.globalvar();
    final Pointer<Integer> globalVar = wrap(Integer.class,
                                            globalvarSymbol);
    final long writeGlobalVarSymbol = Testing.writeGlobalVar();
    final Pointer<WriteGlobalVarFunc> writeGlobalVarFuncPointer = wrap(WriteGlobalVarFunc.class,
                                                                       writeGlobalVarSymbol);
    //when
    writeGlobalVarFuncPointer.get()
                             .invoke(10);
    //then
    assertThat(readGlobalVarFuncPointer.get()
                                       .invoke()).isEqualTo(10);
    assertThat(globalVar.get()).isEqualTo(10);
}