< prev index next >
test/jdk/java/foreign/TestSegments.java
Print this page
M TestSegments.java
*** 41,52 ****
import java.util.List;
import java.util.Spliterator;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.LongFunction;
import java.util.stream.Stream;
!
import static org.testng.Assert.*;
public class TestSegments {
@Test(dataProvider = "badSizeAndAlignments", expectedExceptions = IllegalArgumentException.class)
--- 41,53 ----
import java.util.List;
import java.util.Spliterator;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.LongFunction;
+ import java.util.function.Supplier;
import java.util.stream.Stream;
! import static jdk.incubator.foreign.MemorySegment.*;
import static org.testng.Assert.*;
public class TestSegments {
@Test(dataProvider = "badSizeAndAlignments", expectedExceptions = IllegalArgumentException.class)
*** 142,151 ****
--- 143,179 ----
start++;
}
}
}
+ static final int ALL_ACCESS_MODES = READ | WRITE | CLOSE | ACQUIRE | HANDOFF;
+
+ @DataProvider(name = "segmentFactories")
+ public Object[][] segmentFactories() {
+ List<Supplier<MemorySegment>> l = List.of(
+ () -> MemorySegment.ofArray(new byte[1]),
+ () -> MemorySegment.ofArray(new char[1]),
+ () -> MemorySegment.ofArray(new double[1]),
+ () -> MemorySegment.ofArray(new float[1]),
+ () -> MemorySegment.ofArray(new int[1]),
+ () -> MemorySegment.ofArray(new long[1]),
+ () -> MemorySegment.ofArray(new short[1]),
+ () -> MemorySegment.ofArray(new int[1]),
+ () -> MemorySegment.allocateNative(1),
+ () -> MemorySegment.allocateNative(1, 2),
+ () -> MemorySegment.allocateNative(MemoryLayout.ofValueBits(8, ByteOrder.LITTLE_ENDIAN))
+ );
+ return l.stream().map(s -> new Object[] { s }).toArray(Object[][]::new);
+ }
+ @Test(dataProvider = "segmentFactories")
+ public void testAccessModesOfFactories(Supplier<MemorySegment> memorySegmentSupplier) {
+ try (MemorySegment segment = memorySegmentSupplier.get()) {
+ assertTrue(segment.hasAccessModes(ALL_ACCESS_MODES));
+ assertEquals(segment.accessModes(), ALL_ACCESS_MODES);
+ }
+ }
+
@Test(dataProvider = "accessModes")
public void testAccessModes(int accessModes) {
int[] arr = new int[1];
for (AccessActions action : AccessActions.values()) {
MemorySegment segment = MemorySegment.ofArray(arr);
< prev index next >