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);
}
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"));
}
}
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);
}
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]);
}
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");
}
}
Aggregations