|
31 | 31 | funcs{end+1} = @test_referring_tags;
|
32 | 32 | funcs{end+1} = @test_referring_block_tags;
|
33 | 33 | funcs{end+1} = @test_referring_multi_tags;
|
| 34 | + funcs{end+1} = @test_referring_block_multi_tags; |
34 | 35 | funcs{end+1} = @test_referring_sources;
|
35 | 36 | funcs{end+1} = @test_referring_block_sources;
|
36 | 37 | funcs{end+1} = @test_referring_blocks;
|
|
407 | 408 | assert(strcmp(testTag{1}.name, testName));
|
408 | 409 | end
|
409 | 410 |
|
410 |
| - |
411 | 411 | %% Test: referring multi tags
|
412 | 412 | function [] = test_referring_multi_tags( varargin )
|
413 | 413 | f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite);
|
|
432 | 432 | assert(isempty(s.referring_multi_tags));
|
433 | 433 | end
|
434 | 434 |
|
| 435 | +%% Test: referring block multi tags |
| 436 | +function [] = test_referring_block_multi_tags( varargin ) |
| 437 | + err = 'Provide either empty arguments or a single Block entity'; |
| 438 | + testName = 'testMultiTag1'; |
| 439 | + |
| 440 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 441 | + b1 = f.create_block('testBlock1', 'nixBlock'); |
| 442 | + d = b1.create_data_array('testDataArray1', 'nixDataArray', nix.DataType.Double, [1 2]); |
| 443 | + t1 = b1.create_multi_tag(testName, 'nixMultiTag', d); |
| 444 | + b2 = f.create_block('testBlock2', 'nixBlock'); |
| 445 | + d = b2.create_data_array('testDataArray2', 'nixDataArray', nix.DataType.Double, [1 2]); |
| 446 | + t2 = b2.create_multi_tag('testMultiTag2', 'nixMultiTag', d); |
| 447 | + s = f.create_section('testSection', 'nixSection'); |
| 448 | + |
| 449 | + t1.set_metadata(s); |
| 450 | + t2.set_metadata(s); |
| 451 | + |
| 452 | + % test multiple arguments fail |
| 453 | + try |
| 454 | + s.referring_multi_tags('a', 'b'); |
| 455 | + catch ME |
| 456 | + assert(strcmp(ME.message, err)); |
| 457 | + end |
| 458 | + |
| 459 | + % test non block entity argument fail |
| 460 | + try |
| 461 | + s.referring_multi_tags(s); |
| 462 | + catch ME |
| 463 | + assert(strcmp(ME.message, err)); |
| 464 | + end |
| 465 | + |
| 466 | + % test return only tags from block 1 |
| 467 | + testTag = s.referring_multi_tags(b1); |
| 468 | + assert(size(testTag, 2) == 1); |
| 469 | + assert(strcmp(testTag{1}.name, testName)); |
| 470 | +end |
| 471 | + |
435 | 472 | %% Test: referring sources
|
436 | 473 | function [] = test_referring_sources( varargin )
|
437 | 474 | f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite);
|
|
0 commit comments