@@ -22,15 +22,17 @@ function setup_file(tc)
2222A3 = A2(: ,1 : 3 ,1 );
2323A3(: ,: ,2 ) = 2 * A3 ;
2424A4(: ,: ,: ,5 ) = A3 ;
25- utf = ' Hello There 😄' ;
26- utf2 = [utf ; " ☎" ];
25+ utf0 = ' Hello There 😄' ;
26+ utf1 = [utf0 ; " ☎" ];
27+ utf2 = [utf0 , " ☎" ; " 📞" , " 👋" ];
2728
2829tc.TestData.A0 = A0 ;
2930tc.TestData.A1 = A1 ;
3031tc.TestData.A2 = A2 ;
3132tc.TestData.A3 = A3 ;
3233tc.TestData.A4 = A4 ;
33- tc.TestData.utf = utf ;
34+ tc.TestData.utf0 = utf0 ;
35+ tc.TestData.utf1 = utf1 ;
3436tc.TestData.utf2 = utf2 ;
3537
3638basic = tempname + " .nc" ;
@@ -42,7 +44,8 @@ function setup_file(tc)
4244ncsave(basic , ' A2' , A2 , " dims" , {' x2' , size(A2 ,1 ), ' y2' , size(A2 ,2 )})
4345ncsave(basic , ' A3' , A3 , " dims" , {' x3' , size(A3 ,1 ), ' y3' , size(A3 ,2 ), ' z3' , size(A3 ,3 )})
4446ncsave(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 )
4649ncsave(basic , " utf2" , utf2 )
4750
4851tc .assumeThat(basic , IsFile )
@@ -62,7 +65,7 @@ function test_get_variables(tc)
6265import stdlib .hdf5nc .ncvariables
6366basic = 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" ])
6669end
6770
6871
@@ -118,48 +121,56 @@ function test_size(tc)
118121tc .verifyEqual(s , [4 ,3 ,2 ,5 ])
119122tc .verifyEqual(r , 4 )
120123
121- r = ncndims(basic , ' utf ' );
122- s = ncsize(basic , ' utf ' );
124+ r = ncndims(basic , ' utf0 ' );
125+ s = ncsize(basic , ' utf0 ' );
123126tc .verifyEmpty(s )
124127tc .verifyEqual(r , 0 )
125128
126- r = ncndims(basic , ' utf2 ' );
127- s = ncsize(basic , ' utf2 ' );
129+ r = ncndims(basic , ' utf1 ' );
130+ s = ncsize(basic , ' utf1 ' );
128131tc .verifyEqual(s , 2 )
129132tc .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 )
131138end
132139
133140
134141function test_read(tc )
135142import matlab .unittest .constraints .IsScalar
136143basic = tc .TestData .basic ;
137144
138- s = ncread(basic , ' / A0' );
145+ s = ncread(basic , ' A0' );
139146tc .verifyThat(s , IsScalar )
140147tc .verifyEqual(s , 42 )
141148
142- s = ncread(basic , ' / A1' );
149+ s = ncread(basic , ' A1' );
143150tc .verifyTrue(isvector(s ))
144151tc .verifyEqual(s , tc .TestData .A1 )
145152
146- s = ncread(basic , ' / A2' );
153+ s = ncread(basic , ' A2' );
147154tc .verifyTrue(ismatrix(s ))
148155tc .verifyEqual(s , tc .TestData .A2 )
149156
150- s = ncread(basic , ' / A3' );
157+ s = ncread(basic , ' A3' );
151158tc .verifyEqual(ndims(s ), 3 )
152159tc .verifyEqual(s , tc .TestData .A3 )
153160
154- s = ncread(basic , ' / A4' );
161+ s = ncread(basic , ' A4' );
155162tc .verifyEqual(ndims(s ), 4 )
156163tc .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' );
159170tc .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' );
163174tc .verifyTrue(isstring(s ))
164175tc .verifyEqual(s , tc .TestData .utf2 )
165176end
0 commit comments