|
53 | 53 | assert(isempty(b.definition));
|
54 | 54 | end
|
55 | 55 |
|
56 |
| -function [] = test_create_data_array( varargin ) |
57 | 56 | %% Test: Create Data Array
|
58 |
| - f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 57 | +function [] = test_create_data_array( varargin ) |
| 58 | + fileName = fullfile(pwd, 'tests', 'testRW.h5'); |
| 59 | + f = nix.File(fileName, nix.FileMode.Overwrite); |
59 | 60 | b = f.createBlock('arraytest', 'nixblock');
|
60 | 61 |
|
61 | 62 | assert(isempty(b.dataArrays));
|
62 | 63 |
|
63 |
| - d1 = b.create_data_array('foo', 'bar', nix.DataType.Double, [2 3]); |
64 |
| - |
65 |
| - assert(strcmp(d1.name, 'foo')); |
66 |
| - assert(strcmp(d1.type, 'bar')); |
67 |
| - tmp = d1.read_all(); |
| 64 | + dtype = 'nix.DataArray'; |
| 65 | + doubleName = 'doubleDataArray'; |
| 66 | + da = b.create_data_array(doubleName, dtype, nix.DataType.Double, [2 3]); |
| 67 | + assert(strcmp(da.name, doubleName)); |
| 68 | + assert(strcmp(da.type, dtype)); |
| 69 | + tmp = da.read_all(); |
68 | 70 | assert(all(tmp(:) == 0));
|
| 71 | + |
| 72 | + %-- TODO: add tests for all provided data types |
| 73 | + try |
| 74 | + stringName = 'stringDataArray'; |
| 75 | + b.create_data_array(stringName, dtype, nix.DataType.String, [1 5]); |
| 76 | + catch ME |
| 77 | + assert(strcmp(ME.identifier, 'Block:unsupportedDataType')); |
| 78 | + end; |
69 | 79 |
|
| 80 | + try |
| 81 | + unsupportedName = 'I will crash and burn'; |
| 82 | + b.create_data_array(unsupportedName, dtype, 'Thou shalt not work!', [1 5]); |
| 83 | + catch ME |
| 84 | + assert(strcmp(ME.identifier, 'Block:unsupportedDataType')); |
| 85 | + end; |
| 86 | + |
70 | 87 | assert(~isempty(b.dataArrays));
|
71 | 88 | end
|
72 | 89 |
|
73 |
| -function [] = test_create_data_array_from_data( varargin ) |
74 | 90 | %% Test: Create Data Array from data
|
75 |
| - f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite); |
| 91 | +%-- TODO add tests for all supported datatypes |
| 92 | +function [] = test_create_data_array_from_data( varargin ) |
| 93 | + fileName = fullfile(pwd, 'tests', 'testRW.h5'); |
| 94 | + daType = 'nix.DataArray'; |
| 95 | + f = nix.File(fileName, nix.FileMode.Overwrite); |
76 | 96 | b = f.createBlock('arraytest', 'nixblock');
|
77 | 97 |
|
78 | 98 | assert(isempty(b.dataArrays));
|
79 | 99 |
|
80 |
| - data = [1, 2, 3; 4, 5, 6]; |
81 |
| - d1 = b.create_data_array_from_data('foo', 'bar', data); |
82 |
| - |
83 |
| - assert(strcmp(d1.name, 'foo')); |
84 |
| - assert(strcmp(d1.type, 'bar')); |
| 100 | + numName = 'numDataArray'; |
| 101 | + numData = [1, 2, 3; 4, 5, 6]; |
| 102 | + da = b.create_data_array_from_data(numName, daType, numData); |
| 103 | + assert(strcmp(da.name, numName)); |
| 104 | + assert(strcmp(da.type, daType)); |
| 105 | + |
| 106 | + tmp = da.read_all(); |
| 107 | + assert(strcmp(class(tmp), class(numData))); |
| 108 | + assert(isequal(size(tmp), size(numData))); |
| 109 | + assert(isequal(tmp, numData)); |
| 110 | + |
| 111 | + logName = 'logicalDataArray'; |
| 112 | + logData = logical([1 0 1; 0 1 0; 1 0 1]); |
| 113 | + da = b.create_data_array_from_data(logName, daType, logData); |
| 114 | + assert(islogical(da.read_all)); |
| 115 | + assert(isequal(size(da.read_all), size(logData))); |
| 116 | + assert(isequal(da.read_all, logData)); |
| 117 | + |
| 118 | + try |
| 119 | + b.create_data_array_from_data('stringDataArray', daType, ['a' 'b']); |
| 120 | + catch ME |
| 121 | + assert(strcmp(ME.identifier, 'Block:unsupportedDataType')); |
| 122 | + end; |
85 | 123 |
|
86 |
| - tmp = d1.read_all(); |
87 |
| - assert(strcmp(class(tmp), class(data))); |
88 |
| - assert(isequal(size(tmp), size(data))); |
89 |
| - assert(isequal(tmp, data)); |
| 124 | + try |
| 125 | + b.create_data_array_from_data('I will crash and burn', daType, {1 2 3}); |
| 126 | + catch ME |
| 127 | + assert(strcmp(ME.identifier, 'Block:unsupportedDataType')); |
| 128 | + end; |
90 | 129 |
|
91 | 130 | assert(~isempty(b.dataArrays));
|
92 | 131 | end
|
|
0 commit comments