Skip to content

Commit 0b24824

Browse files
committed
test: use assume and verify instead of assert
1 parent 821009c commit 0b24824

File tree

3 files changed

+86
-76
lines changed

3 files changed

+86
-76
lines changed

+hdf5nc/private/expanduser.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
%
2020
% See also absolute_path
2121
arguments
22-
p (1,1) string
22+
p string
2323
end
2424

2525
expanded = p;

+hdf5nc/test_hdf5.m

Lines changed: 46 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ function setupOnce(tc)
2020

2121
basic = tempname + ".h5";
2222
tc.TestData.basic = basic;
23+
2324
% create test data first, so that parallel tests works
2425
h5save(basic, '/A0', A0)
2526
h5save(basic, '/A1', A1)
@@ -34,31 +35,30 @@ function teardownOnce(tc)
3435

3536

3637
function test_auto_chunk_size(tc)
37-
tc.assertEqual(auto_chunk_size([1500,2500,1000,500,100]), [12,20,8,8,2], '5D chunk fail')
38-
tc.assertEqual(auto_chunk_size([15,250,100]), [2,32,25], '3D chunk fail')
39-
tc.assertEqual(auto_chunk_size([15,250]), [15,250], '2D small chunk fail')
40-
38+
tc.verifyEqual(auto_chunk_size([1500,2500,1000,500,100]), [12,20,8,8,2])
39+
tc.verifyEqual(auto_chunk_size([15,250,100]), [2,32,25])
40+
tc.verifyEqual(auto_chunk_size([15,250]), [15,250])
4141
end
4242

4343

4444
function test_get_variables(tc)
4545
import hdf5nc.h5variables
4646
vars = h5variables(tc.TestData.basic);
47-
tc.assertEqual(sort(vars), ["A0", "A1", "A2", "A3", "A4"], 'missing variables')
47+
tc.verifyEqual(sort(vars), ["A0", "A1", "A2", "A3", "A4"])
4848
end
4949

5050

5151
function test_exists(tc)
5252
import hdf5nc.h5exists
5353
e0 = h5exists(tc.TestData.basic, '/A3');
54-
tc.assertTrue(isscalar(e0))
55-
tc.assertTrue(e0, 'A3 exists')
54+
tc.verifyTrue(isscalar(e0))
55+
tc.verifyTrue(e0)
5656

57-
tc.assertFalse(h5exists(tc.TestData.basic, '/oops'), 'oops not exist')
57+
tc.verifyFalse(h5exists(tc.TestData.basic, '/oops'))
5858

5959
e1 = h5exists(tc.TestData.basic, ["A3", "oops"]);
60-
tc.assertTrue(isrow(e1))
61-
tc.assertEqual(e1, [true, false])
60+
tc.verifyTrue(isrow(e1))
61+
tc.verifyEqual(e1, [true, false])
6262
end
6363

6464

@@ -67,48 +67,48 @@ function test_size(tc)
6767
basic = tc.TestData.basic;
6868

6969
s = h5size(basic, '/A0');
70-
tc.assertTrue(isscalar(s))
71-
tc.assertEqual(s, 1, 'A0 shape')
70+
tc.verifyTrue(isscalar(s))
71+
tc.verifyEqual(s, 1)
7272

7373
s = h5size(basic, '/A1');
74-
tc.assertTrue(isscalar(s))
75-
tc.assertEqual(s, 2, 'A1 shape')
74+
tc.verifyTrue(isscalar(s))
75+
tc.verifyEqual(s, 2)
7676

7777
s = h5size(basic, '/A2');
78-
tc.assertTrue(isvector(s))
79-
tc.assertEqual(s, [4,4], 'A2 shape')
78+
tc.verifyTrue(isvector(s))
79+
tc.verifyEqual(s, [4,4])
8080

8181
s = h5size(basic, '/A3');
82-
tc.assertTrue(isvector(s))
83-
tc.assertEqual(s, [4,3,2], 'A3 shape')
82+
tc.verifyTrue(isvector(s))
83+
tc.verifyEqual(s, [4,3,2])
8484

8585
s = h5size(basic, '/A4');
86-
tc.assertTrue(isvector(s))
87-
tc.assertEqual(s, [4,3,2,5], 'A4 shape')
86+
tc.verifyTrue(isvector(s))
87+
tc.verifyEqual(s, [4,3,2,5])
8888
end
8989

9090

9191
function test_read(tc)
9292
basic = tc.TestData.basic;
9393
s = h5read(basic, '/A0');
94-
tc.assertTrue(isscalar(s))
95-
tc.assertEqual(s, 42, 'A0 read')
94+
tc.verifyTrue(isscalar(s))
95+
tc.verifyEqual(s, 42)
9696

9797
s = h5read(basic, '/A1');
98-
tc.assertTrue(isvector(s))
99-
tc.assertEqual(s, tc.TestData.A1, 'A1 read')
98+
tc.verifyTrue(isvector(s))
99+
tc.verifyEqual(s, tc.TestData.A1)
100100

101101
s = h5read(basic, '/A2');
102-
tc.assertTrue(ismatrix(s))
103-
tc.assertEqual(s, tc.TestData.A2, 'A2 read')
102+
tc.verifyTrue(ismatrix(s))
103+
tc.verifyEqual(s, tc.TestData.A2)
104104

105-
s = h5read(tc.TestData.basic, '/A3');
106-
tc.assertEqual(ndims(s), 3)
107-
tc.assertEqual(s, tc.TestData.A3, 'A3 read')
105+
s = h5read(basic, '/A3');
106+
tc.verifyEqual(ndims(s), 3)
107+
tc.verifyEqual(s, tc.TestData.A3)
108108

109-
s = h5read(tc.TestData.basic, '/A4');
110-
tc.assertEqual(ndims(s), 4)
111-
tc.assertEqual(s, tc.TestData.A4, 'A4 read')
109+
s = h5read(basic, '/A4');
110+
tc.verifyEqual(ndims(s), 4)
111+
tc.verifyEqual(s, tc.TestData.A4)
112112
end
113113

114114

@@ -120,16 +120,20 @@ function test_coerce(tc)
120120
h5save(basic, '/int64', 0, "type", 'int64')
121121
h5save(basic, '/float32', 0, "type", 'float32')
122122

123-
tc.assertClass(h5read(basic, '/int32'), 'int32', 'int32')
124-
tc.assertClass(h5read(basic, '/int64'), 'int64', 'int64')
125-
tc.assertClass(h5read(basic, '/float32'), 'single', 'float32')
123+
tc.assumeTrue(isfile(basic))
124+
125+
tc.verifyClass(h5read(basic, '/int32'), 'int32')
126+
tc.verifyClass(h5read(basic, '/int64'), 'int64')
127+
tc.verifyClass(h5read(basic, '/float32'), 'single')
126128
end
127129

128130

129131
function test_rewrite(tc)
130132
import hdf5nc.h5save
131-
h5save(tc.TestData.basic, '/A2', 3*magic(4))
132-
tc.assertEqual(h5read(tc.TestData.basic, '/A2'), 3*magic(4), 'rewrite 2D fail')
133+
basic = tc.TestData.basic;
134+
h5save(basic, '/A2', 3*magic(4))
135+
tc.assumeTrue(isfile(basic))
136+
tc.verifyEqual(h5read(basic, '/A2'), 3*magic(4))
133137
end
134138

135139
function test_string(tc)
@@ -139,13 +143,13 @@ function test_string(tc)
139143

140144
astr = h5read(tc.TestData.basic, "/a_string");
141145
achar = h5read(tc.TestData.basic, "/a_char");
142-
tc.assertEqual(astr, "hello")
143-
tc.assertEqual(achar, "there")
144-
tc.assertClass(astr, "string")
145-
tc.assertClass(achar, "string")
146+
tc.verifyEqual(astr, "hello")
147+
tc.verifyEqual(achar, "there")
148+
tc.verifyClass(astr, "string")
149+
tc.verifyClass(achar, "string")
146150
end
147151

148152
function test_real_only(tc)
149153
import hdf5nc.h5save
150-
tc.assertError(@() h5save(tc.TestData.basic, "/bad_imag", 1j), 'MATLAB:validators:mustBeReal')
154+
tc.verifyError(@() h5save(tc.TestData.basic, "/bad_imag", 1j), 'MATLAB:validators:mustBeReal')
151155
end

+hdf5nc/test_netcdf.m

Lines changed: 39 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -38,71 +38,72 @@ function teardownOnce(tc)
3838
function test_get_variables(tc)
3939
import hdf5nc.ncvariables
4040
vars = ncvariables(tc.TestData.basic);
41-
tc.assertEqual(sort(vars), ["A0", "A1", "A2", "A3", "A4"], 'missing variables')
41+
tc.verifyEqual(sort(vars), ["A0", "A1", "A2", "A3", "A4"])
4242
end
4343

4444

4545
function test_exists(tc)
4646
import hdf5nc.ncexists
4747
e0 = ncexists(tc.TestData.basic, 'A3');
48-
tc.assertTrue(isscalar(e0))
49-
tc.assertTrue(e0, 'A3 exists')
48+
tc.verifyTrue(isscalar(e0))
49+
tc.verifyTrue(e0)
5050

51-
assertFalse(tc, ncexists(tc.TestData.basic, '/oops'), 'oops not exist')
51+
tc.verifyFalse(ncexists(tc.TestData.basic, '/oops'))
5252

5353
e1 = ncexists(tc.TestData.basic, ["A3", "oops"]);
54-
tc.assertTrue(isrow(e1))
55-
tc.assertEqual(e1, [true, false])
54+
tc.verifyTrue(isrow(e1))
55+
tc.verifyEqual(e1, [true, false])
5656
end
5757

58+
5859
function test_size(tc)
5960
import hdf5nc.ncsize
6061
basic = tc.TestData.basic;
6162

6263
s = ncsize(basic, 'A0');
63-
tc.assertTrue(isscalar(s))
64-
tc.assertEqual(s, 1, 'A0 shape')
64+
tc.verifyTrue(isscalar(s))
65+
tc.verifyEqual(s, 1)
6566

6667
s = ncsize(basic, 'A1');
67-
tc.assertTrue(isscalar(s))
68-
tc.assertEqual(s, 2, 'A1 shape')
68+
tc.verifyTrue(isscalar(s))
69+
tc.verifyEqual(s, 2)
6970

7071
s = ncsize(basic, 'A2');
71-
tc.assertTrue(isvector(s))
72-
tc.assertEqual(s, [4,4], 'A2 shape')
72+
tc.verifyTrue(isvector(s))
73+
tc.verifyEqual(s, [4,4])
7374

7475
s = ncsize(basic, 'A3');
75-
tc.assertTrue(isvector(s))
76-
tc.assertEqual(s, [4,3,2], 'A3 shape')
76+
tc.verifyTrue(isvector(s))
77+
tc.verifyEqual(s, [4,3,2])
7778

7879
s = ncsize(basic, 'A4');
79-
tc.assertTrue(isvector(s))
80-
tc.assertEqual(s, [4,3,2,5], 'A4 shape')
80+
tc.verifyTrue(isvector(s))
81+
tc.verifyEqual(s, [4,3,2,5])
8182
end
8283

8384

8485
function test_read(tc)
8586
basic = tc.TestData.basic;
8687

8788
s = ncread(basic, '/A0');
88-
tc.assertTrue(isscalar(s))
89-
tc.assertEqual(s, 42, 'A0 read')
89+
tc.verifyTrue(isscalar(s))
90+
tc.verifyEqual(s, 42)
9091

9192
s = ncread(basic, '/A1');
92-
tc.assertTrue(isvector(s))
93-
tc.assertEqual(s, tc.TestData.A1, 'A1 read')
93+
tc.verifyTrue(isvector(s))
94+
tc.verifyEqual(s, tc.TestData.A1)
9495

9596
s = ncread(basic, '/A2');
96-
tc.assertTrue(ismatrix(s))
97-
tc.assertEqual(s, tc.TestData.A2, 'A2 read')
97+
tc.verifyTrue(ismatrix(s))
98+
tc.verifyEqual(s, tc.TestData.A2)
9899

99100
s = ncread(basic, '/A3');
100-
tc.assertEqual(ndims(s), 3)
101-
tc.assertEqual(s, tc.TestData.A3, 'A3 read')
101+
tc.verifyEqual(ndims(s), 3)
102+
tc.verifyEqual(s, tc.TestData.A3)
102103

103104
s = ncread(basic, '/A4');
104-
tc.assertEqual(ndims(s), 4)
105-
tc.assertEqual(s, tc.TestData.A4, 'A4 read')
105+
tc.verifyEqual(ndims(s), 4)
106+
tc.verifyEqual(s, tc.TestData.A4)
106107
end
107108

108109

@@ -115,24 +116,29 @@ function test_coerce(tc)
115116
ncsave(basic, 'int64', 0, "type", 'int64')
116117
ncsave(basic, 'float32', 0, "type", 'float32')
117118

118-
tc.assertClass(h5read(basic, '/int32'), 'int32', 'int32')
119-
tc.assertClass(h5read(basic, '/int64'), 'int64', 'int64')
120-
tc.assertClass(h5read(basic, '/float32'), 'single', 'float32')
119+
tc.assumeTrue(isfile(basic))
120+
121+
tc.verifyClass(h5read(basic, '/int32'), 'int32')
122+
tc.verifyClass(h5read(basic, '/int64'), 'int64')
123+
tc.verifyClass(h5read(basic, '/float32'), 'single')
121124
end
122125

126+
123127
function test_rewrite(tc)
124128
import hdf5nc.ncsave
125-
ncsave(tc.TestData.basic, 'A2', 3*magic(4))
126-
tc.assertEqual(ncread(tc.TestData.basic, 'A2'), 3*magic(4), 'rewrite 2D fail')
129+
basic = tc.TestData.basic;
130+
ncsave(basic, 'A2', 3*magic(4))
131+
tc.assumeTrue(isfile(basic))
132+
tc.verifyEqual(ncread(basic, 'A2'), 3*magic(4))
127133
end
128134

129135
function test_no_char_string(tc)
130136
import hdf5nc.ncsave
131-
tc.assertError(@() ncsave(tc.TestData.basic, "/a_string", "hello"), 'MATLAB:validators:mustBeNumeric')
137+
tc.verifyError(@() ncsave(tc.TestData.basic, "/a_string", "hello"), 'MATLAB:validators:mustBeNumeric')
132138

133139
end
134140

135141
function test_real_only(tc)
136142
import hdf5nc.ncsave
137-
tc.assertError(@() ncsave(tc.TestData.basic, "/bad_imag", 1j), 'MATLAB:validators:mustBeReal')
143+
tc.verifyError(@() ncsave(tc.TestData.basic, "/bad_imag", 1j), 'MATLAB:validators:mustBeReal')
138144
end

0 commit comments

Comments
 (0)