|
7 | 7 | funcs{end+1} = @test_remove_source;
|
8 | 8 | funcs{end+1} = @test_add_reference;
|
9 | 9 | funcs{end+1} = @test_remove_reference;
|
| 10 | + funcs{end+1} = @test_add_feature; |
| 11 | + funcs{end+1} = @test_remove_feature; |
10 | 12 | funcs{end+1} = @test_fetch_references;
|
11 | 13 | funcs{end+1} = @test_fetch_sources;
|
12 | 14 | funcs{end+1} = @test_fetch_features;
|
|
92 | 94 | assert(size(getBlock.dataArrays, 1) == 2);
|
93 | 95 | end
|
94 | 96 |
|
| 97 | +%% Test: Add features by entity and id |
| 98 | +function [] = test_add_feature ( varargin ) |
| 99 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 100 | + b = f.createBlock('featureTest', 'nixBlock'); |
| 101 | + tmp = b.create_data_array('featureTestDataArray1', 'nixDataArray', 'double', [1 2]); |
| 102 | + tmp = b.create_data_array('featureTestDataArray2', 'nixDataArray', 'double', [3 4]); |
| 103 | + tmp = b.create_data_array('featureTestDataArray3', 'nixDataArray', 'double', [5 6]); |
| 104 | + tmp = b.create_data_array('featureTestDataArray4', 'nixDataArray', 'double', [7 8]); |
| 105 | + tmp = b.create_data_array('featureTestDataArray5', 'nixDataArray', 'double', [9 10]); |
| 106 | + tmp = b.create_data_array('featureTestDataArray6', 'nixDataArray', 'double', [11 12]); |
| 107 | + position = [1.0 1.2 1.3 15.9]; |
| 108 | + getTag = b.create_tag('featureTest', 'nixTag', position); |
| 109 | + |
| 110 | + assert(isempty(getTag.features)); |
| 111 | + tmp = getTag.add_feature(b.dataArrays{1}.id, nix.LinkType.Tagged); |
| 112 | + tmp = getTag.add_feature(b.dataArrays{2}, nix.LinkType.Tagged); |
| 113 | + tmp = getTag.add_feature(b.dataArrays{3}.id, nix.LinkType.Untagged); |
| 114 | + tmp = getTag.add_feature(b.dataArrays{4}, nix.LinkType.Untagged); |
| 115 | + tmp = getTag.add_feature(b.dataArrays{5}.id, nix.LinkType.Indexed); |
| 116 | + tmp = getTag.add_feature(b.dataArrays{6}, nix.LinkType.Indexed); |
| 117 | + assert(size(getTag.features, 1) == 6) |
| 118 | +end |
| 119 | + |
| 120 | +%% Test: Remove features by entity and id |
| 121 | +function [] = test_remove_feature ( varargin ) |
| 122 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 123 | + b = f.createBlock('featureTest', 'nixBlock'); |
| 124 | + tmp = b.create_data_array('featureTestDataArray1', 'nixDataArray', 'double', [1 2]); |
| 125 | + tmp = b.create_data_array('featureTestDataArray2', 'nixDataArray', 'double', [3 4]); |
| 126 | + position = [1.0 1.2 1.3 15.9]; |
| 127 | + getTag = b.create_tag('featureTest', 'nixTag', position); |
| 128 | + tmp = getTag.add_feature(b.dataArrays{1}.id, nix.LinkType.Tagged); |
| 129 | + tmp = getTag.add_feature(b.dataArrays{2}, nix.LinkType.Tagged); |
| 130 | + |
| 131 | + assert(getTag.remove_feature(getTag.features{2}.id)); |
| 132 | + assert(getTag.remove_feature(getTag.features{1})); |
| 133 | + assert(isempty(getTag.features)); |
| 134 | + |
| 135 | + assert(~getTag.remove_feature('I do not exist')); |
| 136 | + assert(size(b.dataArrays, 1) == 2); |
| 137 | +end |
| 138 | + |
95 | 139 | %% Test: fetch references
|
96 | 140 | function [] = test_fetch_references( varargin )
|
97 | 141 | test_file = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite);
|
|
0 commit comments