|
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;
|
|
94 | 96 | assert(size(b.dataArrays, 1) == 3);
|
95 | 97 | end
|
96 | 98 |
|
| 99 | +%% Test: Add features by entity and id |
| 100 | +function [] = test_add_feature ( varargin ) |
| 101 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 102 | + b = f.createBlock('featureTest', 'nixBlock'); |
| 103 | + tmp = b.create_data_array('featureTestDataArray', 'nixDataArray', 'double', [1 2]); |
| 104 | + getMTag = b.create_multi_tag('featuretest', 'nixMultiTag', b.dataArrays{1}); |
| 105 | + |
| 106 | + tmp = b.create_data_array('featTestDA1', 'nixDataArray', 'double', [1 2]); |
| 107 | + tmp = b.create_data_array('featTestDA2', 'nixDataArray', 'double', [3 4]); |
| 108 | + tmp = b.create_data_array('featTestDA3', 'nixDataArray', 'double', [5 6]); |
| 109 | + tmp = b.create_data_array('featTestDA4', 'nixDataArray', 'double', [7 8]); |
| 110 | + tmp = b.create_data_array('featTestDA5', 'nixDataArray', 'double', [9 10]); |
| 111 | + tmp = b.create_data_array('featTestDA6', 'nixDataArray', 'double', [11 12]); |
| 112 | + |
| 113 | + assert(isempty(getMTag.features)); |
| 114 | + tmp = getMTag.add_feature(b.dataArrays{2}.id, nix.LinkType.Tagged); |
| 115 | + tmp = getMTag.add_feature(b.dataArrays{3}, nix.LinkType.Tagged); |
| 116 | + tmp = getMTag.add_feature(b.dataArrays{4}.id, nix.LinkType.Untagged); |
| 117 | + tmp = getMTag.add_feature(b.dataArrays{5}, nix.LinkType.Untagged); |
| 118 | + tmp = getMTag.add_feature(b.dataArrays{6}.id, nix.LinkType.Indexed); |
| 119 | + tmp = getMTag.add_feature(b.dataArrays{7}, nix.LinkType.Indexed); |
| 120 | + assert(size(getMTag.features, 1) == 6); |
| 121 | +end |
| 122 | + |
| 123 | +%% Test: Remove features by entity and id |
| 124 | +function [] = test_remove_feature ( varargin ) |
| 125 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 126 | + b = f.createBlock('featureTest', 'nixBlock'); |
| 127 | + tmp = b.create_data_array('featureTestDataArray', 'nixDataArray', 'double', [1 2]); |
| 128 | + getMTag = b.create_multi_tag('featuretest', 'nixMultiTag', b.dataArrays{1}); |
| 129 | + |
| 130 | + tmp = b.create_data_array('featTestDA1', 'nixDataArray', 'double', [1 2]); |
| 131 | + tmp = b.create_data_array('featTestDA2', 'nixDataArray', 'double', [3 4]); |
| 132 | + |
| 133 | + tmp = getMTag.add_feature(b.dataArrays{2}.id, nix.LinkType.Tagged); |
| 134 | + tmp = getMTag.add_feature(b.dataArrays{3}, nix.LinkType.Tagged); |
| 135 | + |
| 136 | + assert(getMTag.remove_feature(getMTag.features{2}.id)); |
| 137 | + assert(getMTag.remove_feature(getMTag.features{1})); |
| 138 | + assert(isempty(getMTag.features)); |
| 139 | + |
| 140 | + assert(~getMTag.remove_feature('I do not exist')); |
| 141 | + assert(size(b.dataArrays, 1) == 3); |
| 142 | +end |
| 143 | + |
97 | 144 | %% Test: fetch references
|
98 | 145 | function [] = test_fetch_references( varargin )
|
99 | 146 | test_file = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite);
|
|
0 commit comments