use of com.oracle.truffle.llvm.test.interop.values.StructObject in project sulong by graalvm.
the class NameBasedInteropTest method setStruct.
@Test
public void setStruct(@Inject(SetStructNode.class) CallTarget set) {
Map<String, Object> members = makeStruct();
set.call(new StructObject(members), value);
Assert.assertEquals(value, members.get("value" + name));
}
use of com.oracle.truffle.llvm.test.interop.values.StructObject 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.StructObject in project sulong by graalvm.
the class NameBasedInteropTest method getStruct.
@Test
public void getStruct(@Inject(GetStructNode.class) CallTarget get) {
Map<String, Object> members = makeStruct();
Object expected = members.get("value" + name);
Object actual = get.call(new StructObject(members));
Assert.assertEquals(expected, actual);
}
use of com.oracle.truffle.llvm.test.interop.values.StructObject in project sulong by graalvm.
the class TypedInteropTest method testFlipPoint.
@Test
public void testFlipPoint(@Inject(FlipPointNode.class) CallTarget flipPoint) {
StructObject point = makePoint(42, 24);
flipPoint.call(point);
Assert.assertEquals("x", 24, point.get("x"));
Assert.assertEquals("y", 42, point.get("y"));
}
use of com.oracle.truffle.llvm.test.interop.values.StructObject 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