|
29 | 29 | funcs{end+1} = @test_inherited_properties;
|
30 | 30 | funcs{end+1} = @test_referring_data_arrays;
|
31 | 31 | funcs{end+1} = @test_referring_tags;
|
| 32 | + funcs{end+1} = @test_referring_block_tags; |
32 | 33 | funcs{end+1} = @test_referring_multi_tags;
|
33 | 34 | funcs{end+1} = @test_referring_sources;
|
34 | 35 | funcs{end+1} = @test_referring_block_sources;
|
|
350 | 351 | end
|
351 | 352 |
|
352 | 353 | %% Test: referring tags
|
353 |
| -function [] = test_referring_multi_tags( varargin ) |
| 354 | +function [] = test_referring_tags( varargin ) |
354 | 355 | f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite);
|
355 | 356 | b1 = f.create_block('testBlock1', 'nixBlock');
|
356 | 357 | t1 = b1.create_tag('testTag1', 'nixTag', [1, 2]);
|
|
371 | 372 | assert(isempty(s.referring_tags));
|
372 | 373 | end
|
373 | 374 |
|
| 375 | +%% Test: referring block tags |
| 376 | +function [] = test_referring_block_tags( varargin ) |
| 377 | + err = 'Provide either empty arguments or a single Block entity'; |
| 378 | + testName = 'testTag1'; |
| 379 | + |
| 380 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 381 | + b1 = f.create_block('testBlock1', 'nixBlock'); |
| 382 | + t1 = b1.create_tag(testName, 'nixTag', [1, 2]); |
| 383 | + b2 = f.create_block('testBlock2', 'nixBlock'); |
| 384 | + t2 = b2.create_tag('testTag2', 'nixTag', [3, 4]); |
| 385 | + s = f.create_section('testSection', 'nixSection'); |
| 386 | + |
| 387 | + t1.set_metadata(s); |
| 388 | + t2.set_metadata(s); |
| 389 | + |
| 390 | + % test multiple arguments fail |
| 391 | + try |
| 392 | + s.referring_tags('a', 'b'); |
| 393 | + catch ME |
| 394 | + assert(strcmp(ME.message, err)); |
| 395 | + end |
| 396 | + |
| 397 | + % test non block entity argument fail |
| 398 | + try |
| 399 | + s.referring_tags(s); |
| 400 | + catch ME |
| 401 | + assert(strcmp(ME.message, err)); |
| 402 | + end |
| 403 | + |
| 404 | + % test return only tags from block 1 |
| 405 | + testTag = s.referring_tags(b1); |
| 406 | + assert(size(testTag, 2) == 1); |
| 407 | + assert(strcmp(testTag{1}.name, testName)); |
| 408 | +end |
| 409 | + |
| 410 | + |
374 | 411 | %% Test: referring multi tags
|
375 |
| -function [] = test_referring_tags( varargin ) |
| 412 | +function [] = test_referring_multi_tags( varargin ) |
376 | 413 | f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite);
|
377 | 414 | b1 = f.create_block('testBlock1', 'nixBlock');
|
378 | 415 | d = b1.create_data_array('testDataArray1', 'nixDataArray', nix.DataType.Double, [1 2]);
|
|
0 commit comments