|
305 | 305 |
|
306 | 306 | %% Test: Dimensions
|
307 | 307 | function [] = test_dimensions( varargin )
|
308 |
| - f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 308 | + fileName = fullfile(pwd, 'tests', 'testRW.h5'); |
| 309 | + f = nix.File(fileName, nix.FileMode.Overwrite); |
309 | 310 | b = f.createBlock('daTestBlock', 'test nixBlock');
|
310 | 311 | da = b.create_data_array('daTest', 'test nixDataArray', nix.DataType.Double, [1 2]);
|
311 | 312 |
|
|
329 | 330 | assert(strcmp(da.dimensions{3}.dimensionType, 'range'));
|
330 | 331 | assert(isequal(da.dimensions{3}.ticks, ticks));
|
331 | 332 | assert(isequal(f.blocks{1}.dataArrays{1}.dimensions{3}.ticks, ticks));
|
332 |
| - |
| 333 | + assert(~da.dimensions{3}.isAlias); |
| 334 | + |
333 | 335 | da.delete_dimension(2);
|
334 | 336 | assert(length(da.dimensions) == 2);
|
335 | 337 | assert(strcmp(da.dimensions{1}.dimensionType, 'set'));
|
|
341 | 343 |
|
342 | 344 | da.delete_dimension(1);
|
343 | 345 | assert(isempty(da.dimensions));
|
| 346 | + |
| 347 | + try |
| 348 | + da.append_alias_range_dimension; |
| 349 | + catch ME |
| 350 | + assert(strcmp(ME.identifier, 'nix:arg:inval')); |
| 351 | + end; |
| 352 | + |
| 353 | + da.append_set_dimension(); |
| 354 | + try |
| 355 | + da.append_alias_range_dimension(); |
| 356 | + catch ME |
| 357 | + assert(strcmp(ME.identifier, 'nix:arg:inval')); |
| 358 | + end; |
| 359 | + |
| 360 | + daAlias = b.create_data_array('aliasDimTest', 'nix.DataArray', ... |
| 361 | + nix.DataType.Double, 25); |
| 362 | + daAlias.append_alias_range_dimension(); |
| 363 | + assert(f.blocks{1}.dataArrays{2}.dimensions{1}.isAlias); |
| 364 | + |
| 365 | + clear daAlias da b f; |
| 366 | + f = nix.File(fileName, nix.FileMode.ReadWrite); |
| 367 | + assert(f.blocks{1}.dataArrays{2}.dimensions{1}.isAlias); |
| 368 | + |
| 369 | + %-- Test for the alias dimension shape work around |
| 370 | + daAliasWa = f.blocks{1}.create_data_array_from_data('aliasDimWTest1', ... |
| 371 | + 'nix.DataArray', [1 2 3]); |
| 372 | + daAliasWa.append_alias_range_dimension(); |
| 373 | + assert(daAliasWa.dimensions{1}.isAlias); |
| 374 | + |
| 375 | + daAliasWa = f.blocks{1}.create_data_array_from_data('aliasDimWATest2', ... |
| 376 | + 'nix.DataArray', [1; 2; 3]); |
| 377 | + assert(isequal(daAliasWa.shape, [3 1])); |
| 378 | + |
| 379 | + daAliasWa = f.blocks{1}.create_data_array_from_data('aliasDimWATest3', ... |
| 380 | + 'nix.DataArray', [1 2 3; 2 4 5; 3 6 7]); |
| 381 | + assert(isequal(daAliasWa.shape, [3 3])); |
344 | 382 | end
|
0 commit comments