|
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);
|
|
128 | 172 |
|
129 | 173 | %% Test: fetch features
|
130 | 174 | function [] = test_fetch_features( varargin )
|
131 |
| - test_file = nix.File(fullfile(pwd, 'tests', 'test.h5'), nix.FileMode.ReadOnly); |
132 |
| - getBlock = test_file.openBlock(test_file.blocks{1,1}.name); |
133 |
| - getTag = getBlock.open_tag(getBlock.tags{1,1}.id); |
| 175 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 176 | + b = f.createBlock('featureTest', 'nixBlock'); |
| 177 | + tmp = b.create_data_array('featureTestDataArray1', 'nixDataArray', 'double', [1 2]); |
| 178 | + tmp = b.create_data_array('featureTestDataArray2', 'nixDataArray', 'double', [3 4]); |
| 179 | + position = [1.0 1.2 1.3 15.9]; |
| 180 | + getTag = b.create_tag('featureTest', 'nixTag', position); |
| 181 | + |
| 182 | + tmp = getTag.add_feature(b.dataArrays{1}, nix.LinkType.Tagged); |
| 183 | + tmp = getTag.add_feature(b.dataArrays{2}, nix.LinkType.Tagged); |
134 | 184 |
|
135 |
| - %-- ToDo get testfile with tag referencing a source |
136 |
| - assert(size(getTag.features(),1) == 0); |
137 |
| - disp('Test Tag: fetch features ... TODO (proper testfile)'); |
| 185 | + assert(size(getTag.features, 1) == 2); |
138 | 186 | end
|
139 | 187 |
|
140 | 188 | %% Test: Open source by ID or name
|
|
155 | 203 | assert(~isempty(getSourceByName));
|
156 | 204 |
|
157 | 205 | %-- test open non existing source
|
158 |
| - getNonSource = getTag.open_source('I dont exist'); |
| 206 | + getNonSource = getTag.open_source('I do not exist'); |
159 | 207 | assert(isempty(getNonSource));
|
160 | 208 | end
|
161 | 209 |
|
162 | 210 |
|
163 |
| -%% Test: Open feature by ID or name |
| 211 | +%% Test: Open feature by ID |
164 | 212 | function [] = test_open_feature( varargin )
|
165 |
| - test_file = nix.File(fullfile(pwd, 'tests', 'test.h5'), nix.FileMode.ReadOnly); |
166 |
| - getBlock = test_file.openBlock(test_file.blocks{1,1}.name); |
167 |
| - getTag = getBlock.open_tag(getBlock.tags{1,1}.id); |
168 |
| - |
169 |
| - %-- TODO: implement testfile with feature referenced from a tag |
170 |
| - %getFeatByID = getTag.open_feature(getTag.features{1,1}.id); |
171 |
| - %assert(strcmp(getFeatByID.id, '')); |
172 |
| - disp('Test Tag: open feature by ID ... TODO (proper testfile)'); |
173 |
| - |
174 |
| - %getFeatByName = getTag.open_feature(getTag.features{1,1}.name); |
175 |
| - %assert(strcmp(getFeatByName.id, '')); |
176 |
| - disp('Test Tag: open feature by name ... TODO (proper testfile)'); |
177 |
| - |
| 213 | + f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 214 | + b = f.createBlock('featureTest', 'nixBlock'); |
| 215 | + tmp = b.create_data_array('featureTestDataArray', 'nixDataArray', 'double', [1 2]); |
| 216 | + position = [1.0 1.2 1.3 15.9]; |
| 217 | + getTag = b.create_tag('featureTest', 'nixTag', position); |
| 218 | + tmp = getTag.add_feature(b.dataArrays{1}, nix.LinkType.Tagged); |
| 219 | + |
| 220 | + assert(~isempty(getTag.open_feature(getTag.features{1}.id))); |
| 221 | + |
178 | 222 | %-- test open non existing feature
|
179 |
| - getFeat = getTag.open_feature('I dont exist'); |
| 223 | + getFeat = getTag.open_feature('I do not exist'); |
180 | 224 | assert(isempty(getFeat));
|
181 | 225 | end
|
182 | 226 |
|
|
197 | 241 | assert(~isempty(getRefByName));
|
198 | 242 |
|
199 | 243 | %-- test open non existing source
|
200 |
| - getNonRef = getTag.open_reference('I dont exist'); |
| 244 | + getNonRef = getTag.open_reference('I do not exist'); |
201 | 245 | assert(isempty(getNonRef));
|
202 | 246 | end
|
203 | 247 |
|
|
0 commit comments