@@ -144,101 +144,57 @@ void foldReducesSlicedRange() {
144144 class Bool {
145145 @ Test
146146 void getBooleanShiftsByOffset () {
147- try (Arena arena = Arena .ofConfined ()) {
148- // Given — packed bits [F, T, T, F]
149- BoolArray inner = boolArray (arena , false , true , true , false );
150- var sut = new OffsetBoolArray (new DType .Bool (false ), 2 , inner , 1L );
147+ // Given — bits [F, T, T, F]
148+ BoolArray inner = TestArrays .bools (false , true , true , false );
149+ var sut = new OffsetBoolArray (new DType .Bool (false ), 2 , inner , 1L );
151150
152- // When / Then
153- assertThat (sut .getBoolean (0 )).isTrue (); // inner[1]
154- assertThat (sut .getBoolean (1 )).isTrue (); // inner[2]
155- assertThat (sut .length ()).isEqualTo (2 );
156- }
151+ // When / Then
152+ assertThat (sut .getBoolean (0 )).isTrue (); // inner[1]
153+ assertThat (sut .getBoolean (1 )).isTrue (); // inner[2]
154+ assertThat (sut .length ()).isEqualTo (2 );
157155 }
158156 }
159157
160158 @ Nested
161159 class Int {
162160 @ Test
163161 void getIntShiftsByOffset () {
164- try (Arena arena = Arena .ofConfined ()) {
165- // Given
166- IntArray inner = intArray (arena , 10 , 20 , 30 , 40 );
167- var sut = new OffsetIntArray (new DType .Primitive (PType .I32 , false ), 2 , inner , 2L );
162+ // Given
163+ IntArray inner = TestArrays .ints (10 , 20 , 30 , 40 );
164+ var sut = new OffsetIntArray (new DType .Primitive (PType .I32 , false ), 2 , inner , 2L );
168165
169- // When / Then
170- assertThat (sut .getInt (0 )).isEqualTo (30 );
171- assertThat (sut .getInt (1 )).isEqualTo (40 );
172- }
166+ // When / Then
167+ assertThat (sut .getInt (0 )).isEqualTo (30 );
168+ assertThat (sut .getInt (1 )).isEqualTo (40 );
173169 }
174170 }
175171
176172 @ Nested
177173 class Long {
178174 @ Test
179175 void getLongShiftsByOffset () {
180- try (Arena arena = Arena .ofConfined ()) {
181- // Given
182- LongArray inner = longArray (arena , 5L , 6L , 7L , 8L );
183- var sut = new OffsetLongArray (new DType .Primitive (PType .I64 , false ), 2 , inner , 1L );
176+ // Given
177+ LongArray inner = TestArrays .longs (5L , 6L , 7L , 8L );
178+ var sut = new OffsetLongArray (new DType .Primitive (PType .I64 , false ), 2 , inner , 1L );
184179
185- // When / Then
186- assertThat (sut .getLong (0 )).isEqualTo (6L );
187- assertThat (sut .getLong (1 )).isEqualTo (7L );
188- }
180+ // When / Then
181+ assertThat (sut .getLong (0 )).isEqualTo (6L );
182+ assertThat (sut .getLong (1 )).isEqualTo (7L );
189183 }
190184 }
191185
192186 @ Nested
193187 class Double {
194188 @ Test
195189 void getDoubleShiftsByOffset () {
196- try (Arena arena = Arena .ofConfined ()) {
197- // Given
198- DoubleArray inner = doubleArray (arena , 1.5 , 2.5 , 3.5 );
199- var sut = new OffsetDoubleArray (new DType .Primitive (PType .F64 , false ), 2 , inner , 1L );
190+ // Given
191+ DoubleArray inner = TestArrays .doubles (1.5 , 2.5 , 3.5 );
192+ var sut = new OffsetDoubleArray (new DType .Primitive (PType .F64 , false ), 2 , inner , 1L );
200193
201- // When / Then
202- assertThat (sut .getDouble (0 )).isEqualTo (2.5 );
203- assertThat (sut .getDouble (1 )).isEqualTo (3.5 );
204- }
205- }
206- }
207-
208- private static BoolArray boolArray (Arena arena , boolean ... vs ) {
209- MemorySegment seg = arena .allocate ((vs .length + 7 ) / 8 );
210- for (int i = 0 ; i < vs .length ; i ++) {
211- if (vs [i ]) {
212- long bi = i >>> 3 ;
213- byte b = seg .get (ValueLayout .JAVA_BYTE , bi );
214- seg .set (ValueLayout .JAVA_BYTE , bi , (byte ) ((b & 0xff ) | (1 << (i & 7 ))));
215- }
216- }
217- return new MaterializedBoolArray (new DType .Bool (false ), vs .length , seg .asReadOnly ());
218- }
219-
220- private static IntArray intArray (Arena arena , int ... vs ) {
221- MemorySegment seg = arena .allocate (vs .length * 4L , 4 );
222- for (int i = 0 ; i < vs .length ; i ++) {
223- seg .setAtIndex (ValueLayout .JAVA_INT , i , vs [i ]);
224- }
225- return new MaterializedIntArray (new DType .Primitive (PType .I32 , false ), vs .length , seg .asReadOnly ());
226- }
227-
228- private static LongArray longArray (Arena arena , long ... vs ) {
229- MemorySegment seg = arena .allocate (vs .length * 8L , 8 );
230- for (int i = 0 ; i < vs .length ; i ++) {
231- seg .setAtIndex (ValueLayout .JAVA_LONG , i , vs [i ]);
232- }
233- return new MaterializedLongArray (new DType .Primitive (PType .I64 , false ), vs .length , seg .asReadOnly ());
234- }
235-
236- private static DoubleArray doubleArray (Arena arena , double ... vs ) {
237- MemorySegment seg = arena .allocate (vs .length * 8L , 8 );
238- for (int i = 0 ; i < vs .length ; i ++) {
239- seg .setAtIndex (ValueLayout .JAVA_DOUBLE , i , vs [i ]);
194+ // When / Then
195+ assertThat (sut .getDouble (0 )).isEqualTo (2.5 );
196+ assertThat (sut .getDouble (1 )).isEqualTo (3.5 );
240197 }
241- return new MaterializedDoubleArray (new DType .Primitive (PType .F64 , false ), vs .length , seg .asReadOnly ());
242198 }
243199
244200 private static ByteArray byteArray (Arena arena , byte ... vs ) {
0 commit comments