MCPcopy Create free account
hub / github.com/OSGeo/gdal / test4d

Method test4d

swig/java/apps/GDALTestMultiDim.java:479–640  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

477 }
478
479 private static void test4d() {
480
481 Driver driver = gdal.GetDriverByName("MEM");
482
483 Dataset dataset = driver.CreateMultiDimensional("mdstuff");
484
485 Group rg = dataset.GetRootGroup();
486
487 ExtendedDataType dt = ExtendedDataType.Create(gdalconst.GDT_Int16);
488
489 long[] sizes = new long[]{7,2,10,6};
490
491 Dimension[] inDims = new Dimension[sizes.length];
492
493 for (int i = 0; i < sizes.length; i++) {
494
495 Dimension d =
496
497 rg.CreateDimension("name"+i, "type"+i, "direction"+i, sizes[i]);
498
499 if (d == null) {
500
501 throw new RuntimeException("4D test: dimension create returned null!");
502 }
503
504 inDims[i] = d;
505 }
506
507 MDArray mdarray = rg.CreateMDArray("my_data", inDims, dt);
508
509 long cnt = mdarray.GetDimensionCount();
510
511 for (long i = 0; i < cnt; i++) {
512
513 Dimension d = mdarray.GetDimension(i);
514
515 if (d == null) {
516
517 throw new RuntimeException("4D test: returned dimension was null!");
518 }
519 }
520
521 Dimension[] outDims = mdarray.GetDimensions();
522
523 if (outDims.length != sizes.length) {
524
525 throw new RuntimeException("4D test: resulting dimension count "+outDims.length+" does not equal input dim len "+sizes.length);
526 }
527
528 for (int i = 0; i < sizes.length; i++) {
529
530 Dimension d = outDims[i];
531
532 if (d.GetSize() != sizes[i]) {
533
534 throw new RuntimeException("4D test: resulting dimension "+i+" has size "+ d.GetSize()+" but should equal "+sizes[i]);
535 }
536

Callers 1

testMDArrayStuffMethod · 0.95

Calls 15

GetDimensionMethod · 0.80
GetDriverByNameMethod · 0.45
GetRootGroupMethod · 0.45
CreateMethod · 0.45
CreateDimensionMethod · 0.45
CreateMDArrayMethod · 0.45
GetDimensionCountMethod · 0.45
GetDimensionsMethod · 0.45
GetSizeMethod · 0.45
GetNameMethod · 0.45
GetTypeMethod · 0.45

Tested by

no test coverage detected