Skip to content

Commit e07094f

Browse files
committed
netcdf add test case
1 parent ac45675 commit e07094f

File tree

1 file changed

+28
-17
lines changed

1 file changed

+28
-17
lines changed

+stdlib/TestNetCDF.m

+28-17
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,17 @@ function setup_file(tc)
2222
A3 = A2(:,1:3,1);
2323
A3(:,:,2) = 2*A3;
2424
A4(:,:,:,5) = A3;
25-
utf = 'Hello There 😄';
26-
utf2 = [utf; ""];
25+
utf0 = 'Hello There 😄';
26+
utf1 = [utf0; ""];
27+
utf2 = [utf0, ""; "📞", "👋"];
2728

2829
tc.TestData.A0 = A0;
2930
tc.TestData.A1 = A1;
3031
tc.TestData.A2 = A2;
3132
tc.TestData.A3 = A3;
3233
tc.TestData.A4 = A4;
33-
tc.TestData.utf = utf;
34+
tc.TestData.utf0 = utf0;
35+
tc.TestData.utf1 = utf1;
3436
tc.TestData.utf2 = utf2;
3537

3638
basic = tempname + ".nc";
@@ -42,7 +44,8 @@ function setup_file(tc)
4244
ncsave(basic, 'A2', A2, "dims", {'x2', size(A2,1), 'y2', size(A2,2)})
4345
ncsave(basic, 'A3', A3, "dims", {'x3', size(A3,1), 'y3', size(A3,2), 'z3', size(A3,3)})
4446
ncsave(basic, 'A4', A4, "dims", {'x4', size(A4,1), 'y4', size(A4,2), 'z4', size(A4,3), 'w4', size(A4,4)})
45-
ncsave(basic, "utf", utf)
47+
ncsave(basic, "utf0", utf0)
48+
ncsave(basic, "utf1", utf1)
4649
ncsave(basic, "utf2", utf2)
4750

4851
tc.assumeThat(basic, IsFile)
@@ -62,7 +65,7 @@ function test_get_variables(tc)
6265
import stdlib.hdf5nc.ncvariables
6366
basic = tc.TestData.basic;
6467

65-
tc.verifyEqual(sort(ncvariables(basic)), ["A0", "A1", "A2", "A3", "A4", "utf", "utf2"])
68+
tc.verifyEqual(sort(ncvariables(basic)), ["A0", "A1", "A2", "A3", "A4", "utf0", "utf1", "utf2"])
6669
end
6770

6871

@@ -118,48 +121,56 @@ function test_size(tc)
118121
tc.verifyEqual(s, [4,3,2,5])
119122
tc.verifyEqual(r, 4)
120123

121-
r = ncndims(basic, 'utf');
122-
s = ncsize(basic, 'utf');
124+
r = ncndims(basic, 'utf0');
125+
s = ncsize(basic, 'utf0');
123126
tc.verifyEmpty(s)
124127
tc.verifyEqual(r, 0)
125128

126-
r = ncndims(basic, 'utf2');
127-
s = ncsize(basic, 'utf2');
129+
r = ncndims(basic, 'utf1');
130+
s = ncsize(basic, 'utf1');
128131
tc.verifyEqual(s, 2)
129132
tc.verifyEqual(r, 1)
130133

134+
r = ncndims(basic, 'utf2');
135+
s = ncsize(basic, 'utf2');
136+
tc.verifyEqual(s, [2, 2])
137+
tc.verifyEqual(r, 2)
131138
end
132139

133140

134141
function test_read(tc)
135142
import matlab.unittest.constraints.IsScalar
136143
basic = tc.TestData.basic;
137144

138-
s = ncread(basic, '/A0');
145+
s = ncread(basic, 'A0');
139146
tc.verifyThat(s, IsScalar)
140147
tc.verifyEqual(s, 42)
141148

142-
s = ncread(basic, '/A1');
149+
s = ncread(basic, 'A1');
143150
tc.verifyTrue(isvector(s))
144151
tc.verifyEqual(s, tc.TestData.A1)
145152

146-
s = ncread(basic, '/A2');
153+
s = ncread(basic, 'A2');
147154
tc.verifyTrue(ismatrix(s))
148155
tc.verifyEqual(s, tc.TestData.A2)
149156

150-
s = ncread(basic, '/A3');
157+
s = ncread(basic, 'A3');
151158
tc.verifyEqual(ndims(s), 3)
152159
tc.verifyEqual(s, tc.TestData.A3)
153160

154-
s = ncread(basic, '/A4');
161+
s = ncread(basic, 'A4');
155162
tc.verifyEqual(ndims(s), 4)
156163
tc.verifyEqual(s, tc.TestData.A4)
157164

158-
s = ncread(basic, '/utf');
165+
s = ncread(basic, 'utf0');
166+
tc.verifyTrue(isstring(s))
167+
tc.verifyEqual(s, string(tc.TestData.utf0))
168+
169+
s = ncread(basic, 'utf1');
159170
tc.verifyTrue(isstring(s))
160-
tc.verifyEqual(s, string(tc.TestData.utf))
171+
tc.verifyEqual(s, tc.TestData.utf1)
161172

162-
s = ncread(basic, '/utf2');
173+
s = ncread(basic, 'utf2');
163174
tc.verifyTrue(isstring(s))
164175
tc.verifyEqual(s, tc.TestData.utf2)
165176
end

0 commit comments

Comments
 (0)