Skip to content

Commit d5aca78

Browse files
committed
Merge pull request #73 from mpsonntag/createDelete
setters for DataArray part I
2 parents 9d8e170 + e316024 commit d5aca78

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

nix_mx.cc

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,15 @@ void mexFunction(int nlhs,
128128
classdef<nix::DataArray>("DataArray", methods)
129129
.desc(&nixdataarray::describe)
130130
.reg("sources", GETSOURCES(IDataArray))
131-
.reg("openMetadataSection", GETMETADATA(IDataArray));
131+
.reg("openMetadataSection", GETMETADATA(IDataArray))
132+
// the following setter lead to an error
133+
//.reg("set_type", SETTER(const std::string&, nix::DataArray, type))
134+
//.reg("set_definition", SETTER(const std::string&, nix::DataArray, definition))
135+
//.reg("set_none_definition", SETTER(const boost::none_t, nix::DataArray, definition))
136+
.reg("set_label", SETTER(const std::string&, nix::DataArray, label))
137+
.reg("set_none_label", SETTER(const boost::none_t, nix::DataArray, label))
138+
.reg("set_unit", SETTER(const std::string&, nix::DataArray, unit))
139+
.reg("set_none_unit", SETTER(const boost::none_t, nix::DataArray, unit));
132140
methods->add("DataArray::readAll", nixdataarray::read_all);
133141
methods->add("DataArray::writeAll", nixdataarray::write_all);
134142
methods->add("DataArray::addSource", nixdataarray::add_source);

tests/TestDataArray.m

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
% Detailed explanation goes here
44

55
funcs = {};
6+
funcs{end+1} = @test_attrs;
67
funcs{end+1} = @test_open_data;
78
funcs{end+1} = @test_open_metadata;
89
funcs{end+1} = @test_list_sources;
@@ -11,6 +12,42 @@
1112
funcs{end+1} = @test_remove_source;
1213
end
1314

15+
function [] = test_attrs( varargin )
16+
%% Test: Access Attributes
17+
f = nix.File(fullfile(pwd, 'tests', 'testRW.h5'), nix.FileMode.Overwrite);
18+
b = f.createBlock('daTestBlock', 'test nixBlock');
19+
da = b.create_data_array('daTest', 'test nixDataArray', 'double', [1 2]);
20+
21+
assert(~isempty(da.id));
22+
assert(strcmp(da.name, 'daTest'));
23+
assert(strcmp(da.type, 'test nixDataArray'));
24+
25+
%-- TODO does not work at the moment on the c++ side
26+
%da.type = 'nixDataArray';
27+
%assert(strcmp(da.type, 'nixDataArray'));
28+
29+
%assert(isempty(da.definition));
30+
%b.definition = 'data array definition';
31+
%assert(strcmp(da.definition, 'data array definition'));
32+
33+
%da.definition = '';
34+
%assert(isempty(da.definition));
35+
36+
assert(isempty(da.unit));
37+
da.unit = 'ms';
38+
assert(strcmp(da.unit, 'ms'));
39+
40+
da.unit = '';
41+
assert(isempty(da.unit));
42+
43+
assert(isempty(da.label));
44+
da.label = 'data array label';
45+
assert(strcmp(da.label, 'data array label'));
46+
47+
da.label = '';
48+
assert(isempty(da.label));
49+
end
50+
1451
%% Test: Read all data from DataArray
1552
function [] = test_open_data( varargin )
1653
test_file = nix.File(fullfile(pwd, 'tests', 'test.h5'), nix.FileMode.ReadOnly);

0 commit comments

Comments
 (0)