9
9
import java .nio .charset .StandardCharsets ;
10
10
import java .sql .Timestamp ;
11
11
import java .util .Arrays ;
12
+ import java .util .HashMap ;
13
+ import java .util .Map ;
12
14
import org .junit .*;
13
15
import org .junit .rules .TemporaryFolder ;
14
16
@@ -393,6 +395,26 @@ public void testArrayMetadata() throws Exception {
393
395
Assert .assertArrayEquals (getArray (expectedArrays [i ]), getArray (a .toJavaArray ()));
394
396
}
395
397
398
+ // getMetadataMap test
399
+ HashMap <String , Object > expectedArraysMap =
400
+ new HashMap <String , Object >() {
401
+ {
402
+ put (byteKey , metadataByte .toJavaArray ());
403
+ put (doubleKey , metadataDouble .toJavaArray ());
404
+ put (floatKey , metadataFloat .toJavaArray ());
405
+ put (intKey , metadataInt .toJavaArray ());
406
+ put (shortKey , metadataShort .toJavaArray ());
407
+ }
408
+ };
409
+
410
+ HashMap <String , NativeArray > actualMetadataMap = arrayn .getMetadataMap ();
411
+
412
+ for (Map .Entry <String , NativeArray > entry : actualMetadataMap .entrySet ()) {
413
+ String key = entry .getKey ();
414
+ Object value = entry .getValue ().toJavaArray ();
415
+ Assert .assertArrayEquals (getArray (expectedArraysMap .get (key )), getArray (value ));
416
+ }
417
+
396
418
arrayn .close ();
397
419
398
420
// open a new write session
@@ -415,4 +437,34 @@ public void testArrayMetadata() throws Exception {
415
437
416
438
arraydn .close ();
417
439
}
440
+
441
+ @ Test
442
+ public void testArrayPutMetadataOverload () throws Exception {
443
+ Array .create (arrayURI , schemaCreate ());
444
+
445
+ long [] array_a = new long [] {1 , 2 , 3 , 6 };
446
+ insertArbitraryValues (new NativeArray (ctx , array_a , Long .class ));
447
+
448
+ Array arrayw = new Array (ctx , arrayURI , TILEDB_WRITE );
449
+
450
+ String floatKey = "md-float" ;
451
+ float [] metadataFloat =
452
+ new float [] {
453
+ 0.1f , 0.2f , 1.1f , 1.2f , 2.1f , 2.2f , 3.1f , 3.2f ,
454
+ 4.1f , 4.2f , 5.1f , 5.2f , 6.1f , 6.2f , 7.1f , 7.2f ,
455
+ 8.1f , 8.2f , 9.1f , 9.2f , 10.1f , 10.2f , 11.1f , 11.2f ,
456
+ 12.1f , 12.2f , 13.1f , 13.2f , 14.1f , 14.2f , 15.1f , 15.2f
457
+ };
458
+
459
+ arrayw .putMetadata (floatKey , metadataFloat , Float .class );
460
+ arrayw .close ();
461
+
462
+ Array array = new Array (ctx , arrayURI , TILEDB_READ );
463
+
464
+ float [] metadataFloatActual = (float []) array .getMetadata (floatKey ).toJavaArray ();
465
+
466
+ Assert .assertArrayEquals (metadataFloat , metadataFloatActual , 1e-10f );
467
+
468
+ array .close ();
469
+ }
418
470
}
0 commit comments