|
25 | 25 | funcs{end+1} = @test_fetch_features;
|
26 | 26 | funcs{end+1} = @test_feature_count;
|
27 | 27 | funcs{end+1} = @test_open_source;
|
| 28 | + funcs{end+1} = @test_open_source_idx; |
28 | 29 | funcs{end+1} = @test_has_source;
|
29 | 30 | funcs{end+1} = @test_source_count;
|
30 | 31 | funcs{end+1} = @test_open_feature;
|
| 32 | + funcs{end+1} = @test_open_feature_idx; |
31 | 33 | funcs{end+1} = @test_open_reference;
|
| 34 | + funcs{end+1} = @test_open_reference_idx; |
32 | 35 | funcs{end+1} = @test_set_metadata;
|
33 | 36 | funcs{end+1} = @test_open_metadata;
|
34 | 37 | funcs{end+1} = @test_retrieve_data;
|
|
350 | 353 | assert(isempty(getNonSource));
|
351 | 354 | end
|
352 | 355 |
|
| 356 | +function [] = test_open_source_idx( varargin ) |
| 357 | +%% Test Open Source by index |
| 358 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 359 | + b = f.create_block('testBlock', 'nixBlock'); |
| 360 | + t = b.create_tag('testTag', 'nixTag', [2 9]); |
| 361 | + s1 = b.create_source('testSource1', 'nixSource'); |
| 362 | + s2 = b.create_source('testSource2', 'nixSource'); |
| 363 | + s3 = b.create_source('testSource3', 'nixSource'); |
| 364 | + t.add_source(s1); |
| 365 | + t.add_source(s2); |
| 366 | + t.add_source(s3); |
| 367 | + |
| 368 | + assert(strcmp(f.blocks{1}.tags{1}.open_source_idx(0).name, s1.name)); |
| 369 | + assert(strcmp(f.blocks{1}.tags{1}.open_source_idx(1).name, s2.name)); |
| 370 | + assert(strcmp(f.blocks{1}.tags{1}.open_source_idx(2).name, s3.name)); |
| 371 | +end |
| 372 | + |
353 | 373 | %% Test: nix.Tag has nix.Source by ID or entity
|
354 | 374 | function [] = test_has_source( varargin )
|
355 | 375 | fileName = 'testRW.h5';
|
|
402 | 422 | assert(isempty(getFeat));
|
403 | 423 | end
|
404 | 424 |
|
| 425 | +function [] = test_open_feature_idx( varargin ) |
| 426 | +%% Test Open feature by index |
| 427 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 428 | + b = f.create_block('testBlock', 'nixBlock'); |
| 429 | + t = b.create_tag('testTag', 'nixTag', [2 9]); |
| 430 | + d1 = b.create_data_array('testFeature1', 'nixDataArray', nix.DataType.Double, [1 2]); |
| 431 | + d2 = b.create_data_array('testFeature2', 'nixDataArray', nix.DataType.Double, [3 2]); |
| 432 | + d3 = b.create_data_array('testFeature3', 'nixDataArray', nix.DataType.Double, [7 2]); |
| 433 | + t.add_feature(d1, nix.LinkType.Tagged); |
| 434 | + t.add_feature(d2, nix.LinkType.Untagged); |
| 435 | + t.add_feature(d3, nix.LinkType.Indexed); |
| 436 | + |
| 437 | + assert(f.blocks{1}.tags{1}.open_feature_idx(0).linkType == nix.LinkType.Tagged); |
| 438 | + assert(f.blocks{1}.tags{1}.open_feature_idx(1).linkType == nix.LinkType.Untagged); |
| 439 | + assert(f.blocks{1}.tags{1}.open_feature_idx(2).linkType == nix.LinkType.Indexed); |
| 440 | +end |
405 | 441 |
|
406 | 442 | %% Test: Open reference by ID or name
|
407 | 443 | function [] = test_open_reference( varargin )
|
|
423 | 459 | assert(isempty(getNonRef));
|
424 | 460 | end
|
425 | 461 |
|
| 462 | +function [] = test_open_reference_idx( varargin ) |
| 463 | +%% Test Open reference by index |
| 464 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 465 | + b = f.create_block('testBlock', 'nixBlock'); |
| 466 | + t = b.create_tag('testTag', 'nixTag', [2 9]); |
| 467 | + d1 = b.create_data_array('testReference1', 'nixDataArray', nix.DataType.Double, [1 2]); |
| 468 | + d2 = b.create_data_array('testReference2', 'nixDataArray', nix.DataType.Double, [3 2]); |
| 469 | + d3 = b.create_data_array('testReference3', 'nixDataArray', nix.DataType.Double, [7 2]); |
| 470 | + t.add_reference(d1); |
| 471 | + t.add_reference(d2); |
| 472 | + t.add_reference(d3); |
| 473 | + |
| 474 | + assert(strcmp(f.blocks{1}.tags{1}.open_reference_idx(0).name, d1.name)); |
| 475 | + assert(strcmp(f.blocks{1}.tags{1}.open_reference_idx(1).name, d2.name)); |
| 476 | + assert(strcmp(f.blocks{1}.tags{1}.open_reference_idx(2).name, d3.name)); |
| 477 | +end |
| 478 | + |
426 | 479 | %% Test: Set metadata
|
427 | 480 | function [] = test_set_metadata ( varargin )
|
428 | 481 | fileName = fullfile(pwd, 'tests', 'testRW.h5');
|
|
0 commit comments