@@ -22,12 +22,16 @@ function setup_file(tc)
22
22
A3 = A2(: ,1 : 3 ,1 );
23
23
A3(: ,: ,2 ) = 2 * A3 ;
24
24
A4(: ,: ,: ,5 ) = A3 ;
25
+ utf = ' Hello There 😄' ;
26
+ utf2 = [utf ; " ☎" ];
25
27
26
28
tc.TestData.A0 = A0 ;
27
29
tc.TestData.A1 = A1 ;
28
30
tc.TestData.A2 = A2 ;
29
31
tc.TestData.A3 = A3 ;
30
32
tc.TestData.A4 = A4 ;
33
+ tc.TestData.utf = utf ;
34
+ tc.TestData.utf2 = utf2 ;
31
35
32
36
basic = tempname + " .nc" ;
33
37
tc.TestData.basic = basic ;
@@ -38,6 +42,8 @@ function setup_file(tc)
38
42
ncsave(basic , ' A2' , A2 , " dims" , {' x2' , size(A2 ,1 ), ' y2' , size(A2 ,2 )})
39
43
ncsave(basic , ' A3' , A3 , " dims" , {' x3' , size(A3 ,1 ), ' y3' , size(A3 ,2 ), ' z3' , size(A3 ,3 )})
40
44
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 )
46
+ ncsave(basic , " utf2" , utf2 )
41
47
42
48
tc .assumeThat(basic , IsFile )
43
49
end
@@ -56,7 +62,7 @@ function test_get_variables(tc)
56
62
import stdlib .hdf5nc .ncvariables
57
63
basic = tc .TestData .basic ;
58
64
59
- tc .verifyEqual(sort(ncvariables(basic )), [" A0" , " A1" , " A2" , " A3" , " A4" ])
65
+ tc .verifyEqual(sort(ncvariables(basic )), [" A0" , " A1" , " A2" , " A3" , " A4" , " utf " , " utf2 " ])
60
66
end
61
67
62
68
@@ -112,6 +118,16 @@ function test_size(tc)
112
118
tc .verifyEqual(s , [4 ,3 ,2 ,5 ])
113
119
tc .verifyEqual(r , 4 )
114
120
121
+ r = ncndims(basic , ' utf' );
122
+ s = ncsize(basic , ' utf' );
123
+ tc .verifyEmpty(s )
124
+ tc .verifyEqual(r , 0 )
125
+
126
+ r = ncndims(basic , ' utf2' );
127
+ s = ncsize(basic , ' utf2' );
128
+ tc .verifyEqual(s , 2 )
129
+ tc .verifyEqual(r , 1 )
130
+
115
131
end
116
132
117
133
@@ -138,6 +154,14 @@ function test_read(tc)
138
154
s = ncread(basic , ' /A4' );
139
155
tc .verifyEqual(ndims(s ), 4 )
140
156
tc .verifyEqual(s , tc .TestData .A4 )
157
+
158
+ s = ncread(basic , ' /utf' );
159
+ tc .verifyTrue(isstring(s ))
160
+ tc .verifyEqual(s , string(tc .TestData .utf ))
161
+
162
+ s = ncread(basic , ' /utf2' );
163
+ tc .verifyTrue(isstring(s ))
164
+ tc .verifyEqual(s , tc .TestData .utf2 )
141
165
end
142
166
143
167
@@ -177,12 +201,6 @@ function test_name_only(tc)
177
201
delete(name )
178
202
end
179
203
180
- function test_no_char_string(tc )
181
- import stdlib .hdf5nc .ncsave
182
- tc .verifyError(@() ncsave(tc .TestData .basic , " /a_string" , " hello" ), ' MATLAB:validators:mustBeNumeric' )
183
-
184
- end
185
-
186
204
187
205
function test_real_only(tc )
188
206
import stdlib .hdf5nc .ncsave
0 commit comments