Skip to content

Commit 7d5803c

Browse files
committed
Add even metadata types to test
1 parent f5148cd commit 7d5803c

File tree

1 file changed

+67
-9
lines changed

1 file changed

+67
-9
lines changed

src/test/java/io/tiledb/java/api/ArrayTest.java

Lines changed: 67 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,10 @@ public void testArrayMetadata() throws Exception {
268268
Array arrayw = new Array(ctx, arrayURI, TILEDB_WRITE);
269269
Array array = new Array(ctx, arrayURI, TILEDB_READ);
270270

271+
NativeArray metadataByte = new NativeArray(ctx, new byte[] {-7, -6, -5, 0, 100}, Byte.class);
272+
273+
NativeArray metadataShort = new NativeArray(ctx, new short[] {18, 19, 20, 21}, Short.class);
274+
271275
NativeArray metadataInt =
272276
new NativeArray(
273277
ctx,
@@ -288,39 +292,87 @@ public void testArrayMetadata() throws Exception {
288292
},
289293
Float.class);
290294

295+
NativeArray metadataDouble =
296+
new NativeArray(
297+
ctx,
298+
new double[] {
299+
1.1d, 1.2d, 2.1d, 2.2d, 3.1d, 3.2d, 4.1d, 4.2d,
300+
5.1d, 5.2d, 6.1d, 6.2d, 7.1d, 7.2d, 8.1d, 8.2d,
301+
9.1d, 9.2d, 10.1d, 10.2d, 11.1d, 11.2d, 12.1d, 12.2d,
302+
13.1d, 14.2d, 14.1d, 14.2d, 15.1d, 15.2d, 16.1d, 16.2d
303+
},
304+
Double.class);
305+
306+
String byteKey = "md-byte";
307+
String shortKey = "md-short";
291308
String intKey = "md-int";
292309
String floatKey = "md-float";
293-
Assert.assertEquals(false, array.hasMetadataKey(intKey));
294-
Assert.assertEquals(false, array.hasMetadataKey(floatKey));
310+
String doubleKey = "md-double";
311+
312+
Assert.assertFalse(array.hasMetadataKey(byteKey));
313+
Assert.assertFalse(array.hasMetadataKey(shortKey));
314+
Assert.assertFalse(array.hasMetadataKey(intKey));
315+
Assert.assertFalse(array.hasMetadataKey(floatKey));
316+
Assert.assertFalse(array.hasMetadataKey(doubleKey));
295317
Assert.assertEquals(0, array.getMetadataNum().intValue());
296318
array.close();
297319

320+
arrayw.putMetadata(byteKey, metadataByte);
321+
arrayw.putMetadata(shortKey, metadataShort);
298322
arrayw.putMetadata(intKey, metadataInt);
299323
arrayw.putMetadata(floatKey, metadataFloat);
324+
arrayw.putMetadata(doubleKey, metadataDouble);
300325
// submit changes
301326
arrayw.close();
302327

303328
// open a new session
304329
Array arrayn = new Array(ctx, arrayURI, TILEDB_READ);
305330

306-
Assert.assertEquals(true, arrayn.hasMetadataKey(intKey));
307-
Assert.assertEquals(true, arrayn.hasMetadataKey(floatKey));
308-
Assert.assertEquals(2, arrayn.getMetadataNum().intValue());
331+
Assert.assertTrue(arrayn.hasMetadataKey(byteKey));
332+
Assert.assertTrue(arrayn.hasMetadataKey(shortKey));
333+
Assert.assertTrue(arrayn.hasMetadataKey(intKey));
334+
Assert.assertTrue(arrayn.hasMetadataKey(floatKey));
335+
Assert.assertTrue(arrayn.hasMetadataKey(doubleKey));
336+
Assert.assertEquals(5, arrayn.getMetadataNum().intValue());
309337

338+
NativeArray metadataByteActual = arrayn.getMetadata(byteKey, Datatype.TILEDB_INT8);
339+
NativeArray metadataShortActual = arrayn.getMetadata(shortKey, Datatype.TILEDB_INT16);
310340
NativeArray metadataIntActual = arrayn.getMetadata(intKey, Datatype.TILEDB_INT32);
311341
NativeArray metadataFloatActual = arrayn.getMetadata(floatKey, Datatype.TILEDB_FLOAT32);
342+
NativeArray metadataDoubleActual = arrayn.getMetadata(doubleKey, Datatype.TILEDB_FLOAT64);
312343

344+
Assert.assertNotNull(metadataByteActual);
345+
Assert.assertNotNull(metadataShortActual);
313346
Assert.assertNotNull(metadataIntActual);
314347
Assert.assertNotNull(metadataFloatActual);
348+
Assert.assertNotNull(metadataDoubleActual);
349+
350+
System.out.println(metadataByte.getNativeType().toString());
315351

352+
Assert.assertArrayEquals(
353+
(byte[]) metadataByte.toJavaArray(), (byte[]) metadataByteActual.toJavaArray());
354+
Assert.assertArrayEquals(
355+
(short[]) metadataShort.toJavaArray(), (short[]) metadataShortActual.toJavaArray());
316356
Assert.assertArrayEquals(
317357
(int[]) metadataInt.toJavaArray(), (int[]) metadataIntActual.toJavaArray());
318358
Assert.assertArrayEquals(
319359
(float[]) metadataFloat.toJavaArray(), (float[]) metadataFloatActual.toJavaArray(), 1e-10f);
360+
Assert.assertArrayEquals(
361+
(double[]) metadataDouble.toJavaArray(),
362+
(double[]) metadataDoubleActual.toJavaArray(),
363+
1e-10d);
320364

321365
// fromIndex tests
322-
String[] expectedKeys = new String[] {floatKey, intKey};
323-
Object[] expectedArrays = new Object[] {metadataFloat.toJavaArray(), metadataInt.toJavaArray()};
366+
// metadata keys sorted in a lexicographic ordering
367+
String[] expectedKeys = new String[] {byteKey, doubleKey, floatKey, intKey, shortKey};
368+
Object[] expectedArrays =
369+
new Object[] {
370+
metadataByte.toJavaArray(),
371+
metadataDouble.toJavaArray(),
372+
metadataFloat.toJavaArray(),
373+
metadataInt.toJavaArray(),
374+
metadataShort.toJavaArray()
375+
};
324376

325377
for (int i = 0; i < arrayn.getMetadataNum().intValue(); i++) {
326378
Pair<String, NativeArray> p = arrayn.getMetadataFromIndex(BigInteger.valueOf(i));
@@ -333,14 +385,20 @@ public void testArrayMetadata() throws Exception {
333385
// open a new write session
334386
Array arrayd = new Array(ctx, arrayURI, TILEDB_WRITE);
335387

388+
arrayd.deleteMetadata(byteKey);
389+
arrayd.deleteMetadata(shortKey);
336390
arrayd.deleteMetadata(intKey);
337391
arrayd.deleteMetadata(floatKey);
392+
arrayd.deleteMetadata(doubleKey);
338393
arrayd.close();
339394

340395
// open a new session to check the deletion
341396
Array arraydn = new Array(ctx, arrayURI, TILEDB_READ);
342-
Assert.assertEquals(false, arraydn.hasMetadataKey(intKey));
343-
Assert.assertEquals(false, arraydn.hasMetadataKey(floatKey));
397+
Assert.assertFalse(arraydn.hasMetadataKey(byteKey));
398+
Assert.assertFalse(arraydn.hasMetadataKey(shortKey));
399+
Assert.assertFalse(arraydn.hasMetadataKey(intKey));
400+
Assert.assertFalse(arraydn.hasMetadataKey(floatKey));
401+
Assert.assertFalse(arraydn.hasMetadataKey(doubleKey));
344402
Assert.assertEquals(0, arraydn.getMetadataNum().intValue());
345403

346404
arraydn.close();

0 commit comments

Comments
 (0)