Search in sources :

Example 1 with ArrayObject

use of com.oracle.truffle.llvm.test.interop.values.ArrayObject in project sulong by graalvm.

the class NameBasedInteropTest method getArray.

@Test
public void getArray(@Inject(GetArrayNode.class) CallTarget get) {
    Object[] arr = new Object[42];
    arr[3] = value;
    Object actual = get.call(new ArrayObject(arr), 3);
    Assert.assertEquals(value, actual);
}
Also used : ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) TruffleObject(com.oracle.truffle.api.interop.TruffleObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) Test(org.junit.Test)

Example 2 with ArrayObject

use of com.oracle.truffle.llvm.test.interop.values.ArrayObject in project sulong by graalvm.

the class TypedInteropTest method testFillPoints.

@Test
public void testFillPoints(@Inject(FillPointsNode.class) CallTarget fillPoints) {
    StructObject[] arr = new StructObject[42];
    for (int i = 0; i < arr.length; i++) {
        arr[i] = makePoint(0, 0);
    }
    fillPoints.call(new ArrayObject((Object[]) arr), 3, 1);
    for (int i = 0; i < arr.length; i++) {
        Assert.assertEquals("x", 3, arr[i].get("x"));
        Assert.assertEquals("y", 1, arr[i].get("y"));
    }
}
Also used : ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) Test(org.junit.Test)

Example 3 with ArrayObject

use of com.oracle.truffle.llvm.test.interop.values.ArrayObject in project sulong by graalvm.

the class TypedInteropTest method testSumPoints.

@Test
public void testSumPoints(@Inject(SumPointsNode.class) CallTarget sumPoints) {
    ArrayObject array = new ArrayObject(makePoint(13, 7), makePoint(3, 6), makePoint(8, 5));
    Object ret = sumPoints.call(array);
    Assert.assertEquals(42, ret);
}
Also used : ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) TruffleObject(com.oracle.truffle.api.interop.TruffleObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) Test(org.junit.Test)

Example 4 with ArrayObject

use of com.oracle.truffle.llvm.test.interop.values.ArrayObject in project sulong by graalvm.

the class NameBasedInteropTest method setArray.

@Test
public void setArray(@Inject(SetArrayNode.class) CallTarget set) {
    Object[] arr = new Object[42];
    set.call(new ArrayObject(arr), 5, value);
    Assert.assertEquals(value, arr[5]);
}
Also used : ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) TruffleObject(com.oracle.truffle.api.interop.TruffleObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) Test(org.junit.Test)

Example 5 with ArrayObject

use of com.oracle.truffle.llvm.test.interop.values.ArrayObject in project sulong by graalvm.

the class TypedInteropTest method checkNested.

private static void checkNested(Object ret) {
    int value = 42;
    Object obj = ret;
    while (obj instanceof StructObject) {
        StructObject nested = (StructObject) obj;
        ArrayObject arr = (ArrayObject) nested.get("arr");
        for (int i = 0; i < 5; i++) {
            StructObject p = (StructObject) arr.get(i);
            Assert.assertEquals("x", value++, p.get("x"));
            Assert.assertEquals("y", value++, p.get("y"));
        }
        StructObject p = (StructObject) nested.get("direct");
        Assert.assertEquals("x", value++, p.get("x"));
        Assert.assertEquals("y", value++, p.get("y"));
        obj = nested.get("next");
    }
}
Also used : ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) TruffleObject(com.oracle.truffle.api.interop.TruffleObject) StructObject(com.oracle.truffle.llvm.test.interop.values.StructObject) ArrayObject(com.oracle.truffle.llvm.test.interop.values.ArrayObject)

Aggregations

ArrayObject (com.oracle.truffle.llvm.test.interop.values.ArrayObject)6 StructObject (com.oracle.truffle.llvm.test.interop.values.StructObject)6 TruffleObject (com.oracle.truffle.api.interop.TruffleObject)5 Test (org.junit.Test)4 NullValue (com.oracle.truffle.llvm.test.interop.values.NullValue)1 HashMap (java.util.HashMap)1