Skip to content

Commit 3b6b5ad

Browse files
committed
Expand metadata test case to cover strings
1 parent f056eb9 commit 3b6b5ad

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

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

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -424,26 +424,34 @@ public void testArrayMetadata() throws Exception {
424424
},
425425
Double.class);
426426

427+
NativeArray metadataString = new NativeArray(ctx, "русский", String.class);
428+
427429
String byteKey = "md-byte";
428430
String shortKey = "md-short";
429431
String intKey = "md-int";
430432
String floatKey = "md-float";
431433
String doubleKey = "md-double";
434+
String stringKey = "md-string";
432435

433436
// metadata keys sorted in a lexicographic ordering
434-
String[] keys = new String[] {byteKey, doubleKey, floatKey, intKey, shortKey};
437+
String[] keys = new String[] {byteKey, doubleKey, floatKey, intKey, shortKey, stringKey};
435438
Datatype[] types =
436-
new Datatype[] {TILEDB_INT8, TILEDB_FLOAT64, TILEDB_FLOAT32, TILEDB_INT32, TILEDB_INT16};
439+
new Datatype[] {
440+
TILEDB_INT8, TILEDB_FLOAT64, TILEDB_FLOAT32, TILEDB_INT32, TILEDB_INT16, TILEDB_CHAR
441+
};
437442
int keysNum = keys.length;
438443
NativeArray[] nativeArrays =
439-
new NativeArray[] {metadataByte, metadataDouble, metadataFloat, metadataInt, metadataShort};
444+
new NativeArray[] {
445+
metadataByte, metadataDouble, metadataFloat, metadataInt, metadataShort, metadataString
446+
};
440447
Object[] expectedArrays =
441448
new Object[] {
442449
metadataByte.toJavaArray(),
443450
metadataDouble.toJavaArray(),
444451
metadataFloat.toJavaArray(),
445452
metadataInt.toJavaArray(),
446-
metadataShort.toJavaArray()
453+
metadataShort.toJavaArray(),
454+
metadataString.toJavaArray()
447455
};
448456

449457
for (int i = 0; i < keysNum; i++) {
@@ -474,12 +482,14 @@ public void testArrayMetadata() throws Exception {
474482
NativeArray metadataIntActual = arrayn.getMetadata(intKey, TILEDB_INT32);
475483
NativeArray metadataFloatActual = arrayn.getMetadata(floatKey, TILEDB_FLOAT32);
476484
NativeArray metadataDoubleActual = arrayn.getMetadata(doubleKey, TILEDB_FLOAT64);
485+
NativeArray metadataStringActual = arrayn.getMetadata(stringKey, TILEDB_CHAR);
477486

478487
Assert.assertNotNull(metadataByteActual);
479488
Assert.assertNotNull(metadataShortActual);
480489
Assert.assertNotNull(metadataIntActual);
481490
Assert.assertNotNull(metadataFloatActual);
482491
Assert.assertNotNull(metadataDoubleActual);
492+
Assert.assertNotNull(metadataStringActual);
483493

484494
Assert.assertArrayEquals(
485495
(byte[]) metadataByte.toJavaArray(), (byte[]) metadataByteActual.toJavaArray());
@@ -493,6 +503,10 @@ public void testArrayMetadata() throws Exception {
493503
(double[]) metadataDouble.toJavaArray(),
494504
(double[]) metadataDoubleActual.toJavaArray(),
495505
1e-10d);
506+
Assert.assertArrayEquals(
507+
(byte[]) metadataString.toJavaArray(), (byte[]) metadataStringActual.toJavaArray());
508+
Assert.assertEquals(
509+
"русский", new String((byte[]) metadataString.toJavaArray(), StandardCharsets.UTF_8));
496510

497511
// exctracion of metadata without specifying the Datatype
498512
for (int i = 0; i < keysNum; i++) {

0 commit comments

Comments
 (0)