Mercurial > hg > octave-lyh
annotate scripts/testfun/assert.m @ 17178:d6499c14021c
doc: Periodic grammarcheck of documentation.
* doc/interpreter/basics.txi, doc/interpreter/expr.txi,
doc/interpreter/install.txi, doc/interpreter/java.txi,
doc/interpreter/plot.txi, doc/interpreter/sparse.txi,
doc/interpreter/vectorize.txi, libinterp/corefcn/cellfun.cc,
libinterp/corefcn/debug.cc, libinterp/corefcn/file-io.cc,
libinterp/corefcn/load-save.cc, libinterp/corefcn/matrix_type.cc,
libinterp/corefcn/pr-output.cc, libinterp/parse-tree/oct-parse.in.yy,
liboctave/numeric/LSODE-opts.in, scripts/image/imformats.m,
scripts/image/imread.m, scripts/image/imwrite.m,
scripts/miscellaneous/error_ids.m, scripts/miscellaneous/fileattrib.m,
scripts/miscellaneous/mex.m, scripts/miscellaneous/mkoctfile.m,
scripts/miscellaneous/warning_ids.m, scripts/prefs/prefdir.m,
scripts/prefs/preferences.m, scripts/signal/fftfilt.m,
scripts/strings/isstrprop.m, scripts/testfun/assert.m:
Periodic grammarcheck of documentation.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 04 Aug 2013 13:08:39 -0700 |
parents | 333243133364 |
children | afd235a206a2 |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
14093
diff
changeset
|
1 ## Copyright (C) 2000-2012 Paul Kienzle |
5589 | 2 ## |
7016 | 3 ## This file is part of Octave. |
5589 | 4 ## |
7016 | 5 ## Octave is free software; you can redistribute it and/or modify it |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
5589 | 14 ## |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
5589 | 18 |
19 ## -*- texinfo -*- | |
10793
be55736a0783
Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
20 ## @deftypefn {Function File} {} assert (@var{cond}) |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
21 ## @deftypefnx {Function File} {} assert (@var{cond}, @var{errmsg}, @dots{}) |
9313 | 22 ## @deftypefnx {Function File} {} assert (@var{cond}, @var{msg_id}, @var{errmsg}, @dots{}) |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
23 ## @deftypefnx {Function File} {} assert (@var{observed}, @var{expected}) |
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
24 ## @deftypefnx {Function File} {} assert (@var{observed}, @var{expected}, @var{tol}) |
5589 | 25 ## |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
26 ## Produce an error if the specified condition is not met. @code{assert} can |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
27 ## be called in three different ways. |
5589 | 28 ## |
29 ## @table @code | |
17178
d6499c14021c
doc: Periodic grammarcheck of documentation.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
30 ## @item assert (@var{cond}) |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
31 ## @itemx assert (@var{cond}, @var{errmsg}, @dots{}) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
32 ## @itemx assert (@var{cond}, @var{msg_id}, @var{errmsg}, @dots{}) |
5589 | 33 ## Called with a single argument @var{cond}, @code{assert} produces an |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
34 ## error if @var{cond} is zero. When called with more than one argument the |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
35 ## additional arguments are passed to the @code{error} function. |
5589 | 36 ## |
37 ## @item assert (@var{observed}, @var{expected}) | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
38 ## Produce an error if observed is not the same as expected. Note that |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
39 ## @var{observed} and @var{expected} can be scalars, vectors, matrices, |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
40 ## strings, cell arrays, or structures. |
5589 | 41 ## |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
42 ## @item assert (@var{observed}, @var{expected}, @var{tol}) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
43 ## Produce an error if observed is not the same as expected but equality |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
44 ## comparison for numeric data uses a tolerance @var{tol}. |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
45 ## If @var{tol} is positive then it is an absolute tolerance which will produce |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
46 ## an error if @code{abs (@var{observed} - @var{expected}) > abs (@var{tol})}. |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
47 ## If @var{tol} is negative then it is a relative tolerance which will produce |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
48 ## an error if @code{abs (@var{observed} - @var{expected}) > |
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
49 ## abs (@var{tol} * @var{expected})}. If @var{expected} is zero @var{tol} will |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
50 ## always be interpreted as an absolute tolerance. |
5589 | 51 ## @end table |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
52 ## @seealso{test, fail, error} |
5589 | 53 ## @end deftypefn |
54 | |
8202
cf59d542f33e
replace all TODOs and XXXs with FIXMEs
Jaroslav Hajek <highegg@gmail.com>
parents:
7770
diff
changeset
|
55 ## FIXME: Output throttling: don't print out the entire 100x100 matrix, |
cf59d542f33e
replace all TODOs and XXXs with FIXMEs
Jaroslav Hajek <highegg@gmail.com>
parents:
7770
diff
changeset
|
56 ## but instead give a summary; don't print out the whole list, just |
cf59d542f33e
replace all TODOs and XXXs with FIXMEs
Jaroslav Hajek <highegg@gmail.com>
parents:
7770
diff
changeset
|
57 ## say what the first different element is, etc. To do this, make |
cf59d542f33e
replace all TODOs and XXXs with FIXMEs
Jaroslav Hajek <highegg@gmail.com>
parents:
7770
diff
changeset
|
58 ## the message generation type specific. |
6494 | 59 |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
60 function assert (cond, varargin) |
6494 | 61 |
62 in = deblank (argn(1,:)); | |
63 for i = 2:rows (argn) | |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
64 in = [in "," deblank(argn(i,:))]; |
7151 | 65 endfor |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
66 in = ["(" in ")"]; |
5589 | 67 |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
68 if (nargin == 1 || (nargin > 1 && islogical (cond) && ischar (varargin{1}))) |
9841
6f1ea8241c99
make isnumeric yield false on logicals
Jaroslav Hajek <highegg@gmail.com>
parents:
9448
diff
changeset
|
69 if ((! isnumeric (cond) && ! islogical (cond)) || ! all (cond(:))) |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
70 if (nargin == 1) |
10549 | 71 ## Say which elements failed? |
72 error ("assert %s failed", in); | |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
73 else |
10549 | 74 error (varargin{:}); |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
75 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
76 endif |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
77 else |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
78 if (nargin < 2 || nargin > 3) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
79 print_usage (); |
5589 | 80 endif |
81 | |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
82 expected = varargin{1}; |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
83 if (nargin < 3) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
84 tol = 0; |
5589 | 85 else |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
86 tol = varargin{2}; |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
87 endif |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
88 |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
89 if (exist ("argn") == 0) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
90 argn = " "; |
5589 | 91 endif |
92 | |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
93 coda = ""; |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
94 iserror = 0; |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
95 |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
96 |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
97 if (ischar (expected)) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
98 iserror = (! ischar (cond) || ! strcmp (cond, expected)); |
5589 | 99 |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
100 elseif (iscell (expected)) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
101 if (! iscell (cond) || any (size (cond) != size (expected))) |
10549 | 102 iserror = 1; |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
103 else |
10549 | 104 try |
105 for i = 1:length (expected(:)) | |
106 assert (cond{i}, expected{i}, tol); | |
107 endfor | |
108 catch | |
109 iserror = 1; | |
110 end_try_catch | |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
111 endif |
5589 | 112 |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
113 elseif (isstruct (expected)) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
114 if (! isstruct (cond) || any (size (cond) != size (expected)) |
10549 | 115 || rows (fieldnames (cond)) != rows (fieldnames (expected))) |
116 iserror = 1; | |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
117 else |
10549 | 118 try |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
119 #empty = numel (cond) == 0; |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
120 empty = isempty (cond); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
121 normal = (numel (cond) == 1); |
10549 | 122 for [v, k] = cond |
123 if (! isfield (expected, k)) | |
124 error (); | |
125 endif | |
126 if (empty) | |
12882
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
127 v = {}; |
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
128 elseif (normal) |
10549 | 129 v = {v}; |
130 else | |
131 v = v(:)'; | |
132 endif | |
133 assert (v, {expected.(k)}, tol); | |
134 endfor | |
135 catch | |
136 iserror = 1; | |
137 end_try_catch | |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
138 endif |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
139 |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
140 elseif (ndims (cond) != ndims (expected) |
10549 | 141 || any (size (cond) != size (expected))) |
5589 | 142 iserror = 1; |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
143 coda = "Dimensions don't match"; |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
144 |
9447
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
145 else |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
146 if (nargin < 3) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
147 ## Without explicit tolerance, be more strict. |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
148 if (! strcmp (class (cond), class (expected))) |
9447
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
149 iserror = 1; |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
150 coda = ["Class " class (cond) " != " class(expected)]; |
9447
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
151 elseif (isnumeric (cond)) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
152 if (issparse (cond) != issparse (expected)) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
153 if (issparse (cond)) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
154 iserror = 1; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
155 coda = "sparse != non-sparse"; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
156 else |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
157 iserror = 1; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
158 coda = "non-sparse != sparse"; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
159 endif |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
160 elseif (iscomplex (cond) != iscomplex (expected)) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
161 if (iscomplex (cond)) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
162 iserror = 1; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
163 coda = "complex != real"; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
164 else |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
165 iserror = 1; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
166 coda = "real != complex"; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
167 endif |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
168 endif |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
169 endif |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
170 endif |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
171 |
9447
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
172 if (! iserror) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
173 ## Numeric. |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
174 A = cond(:); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
175 B = expected(:); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
176 ## Check exceptional values. |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
177 if (any (isna (A) != isna (B))) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
178 iserror = 1; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
179 coda = "NAs don't match"; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
180 elseif (any (isnan (A) != isnan (B))) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
181 iserror = 1; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
182 coda = "NaNs don't match"; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
183 ## Try to avoid problems comparing strange values like Inf+NaNi. |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
184 elseif (any (isinf (A) != isinf (B)) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
185 || any (A(isinf (A) & ! isnan (A)) != B(isinf (B) & ! isnan (B)))) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
186 iserror = 1; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
187 coda = "Infs don't match"; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
188 else |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
189 ## Check normal values. |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
190 A = A(isfinite (A)); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
191 B = B(isfinite (B)); |
9447
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
192 if (tol == 0) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
193 err = any (A != B); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
194 errtype = "values do not match"; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
195 elseif (tol >= 0) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
196 err = max (abs (A - B)); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
197 errtype = "maximum absolute error %g exceeds tolerance %g"; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11563
diff
changeset
|
198 else |
9447
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
199 abserr = max (abs (A(B == 0))); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
200 A = A(B != 0); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
201 B = B(B != 0); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
202 relerr = max (abs (A - B) ./ abs (B)); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
203 err = max ([abserr; relerr]); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
204 errtype = "maximum relative error %g exceeds tolerance %g"; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
205 endif |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
206 if (err > abs (tol)) |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
207 iserror = 1; |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
208 coda = sprintf (errtype, err, abs (tol)); |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
209 endif |
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
210 endif |
5589 | 211 endif |
9447
bb2ae2210e37
relax assert for exact matches
Jaroslav Hajek <highegg@gmail.com>
parents:
9313
diff
changeset
|
212 |
5589 | 213 endif |
214 | |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
215 if (! iserror) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
216 return; |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
217 endif |
5589 | 218 |
8506 | 219 ## Pretty print the "expected but got" info, trimming leading and |
220 ## trailing "\n". | |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
221 str = disp (expected); |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
222 idx = find (str != "\n"); |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
223 if (! isempty (idx)) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
224 str = str(idx(1):idx(end)); |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
225 endif |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
226 str2 = disp (cond); |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
227 idx = find (str2 != "\n"); |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
228 if (! isempty (idx)) |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
229 str2 = str2 (idx(1):idx(end)); |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
230 endif |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
231 msg = ["assert " in " expected\n" str "\nbut got\n" str2]; |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
232 if (! isempty (coda)) |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
233 msg = [msg, "\n", coda]; |
7770
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
234 endif |
c6a1a217ac3c
Compatibility fix for assert
David Bateman <dbateman@free.fr>
parents:
7703
diff
changeset
|
235 error ("%s", msg); |
5589 | 236 endif |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
237 |
5589 | 238 endfunction |
239 | |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
240 |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
241 ## empty input |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
242 %!assert ([]) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
243 %!assert (zeros (3,0), zeros (3,0)) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
244 %!error assert (zeros (3,0), zeros (0,2)) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
245 %!error assert (zeros (3,0), []) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
246 %!error <Dimensions don't match> assert (zeros (2,0,2), zeros (2,0)) |
5589 | 247 |
248 ## conditions | |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
249 %!assert (isempty ([])) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
250 %!assert (1) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
251 %!error assert (0) |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
252 %!assert (ones (3,1)) |
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
253 %!assert (ones (1,3)) |
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
254 %!assert (ones (3,4)) |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
255 %!error assert ([1,0,1]) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
256 %!error assert ([1;1;0]) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
257 %!error assert ([1,0;1,1]) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
258 |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
259 ## scalars |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
260 %!error assert (3, [3,3; 3,3]) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
261 %!error assert ([3,3; 3,3], 3) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
262 %!assert (3, 3) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
263 %!assert (3+eps, 3, eps) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
264 %!assert (3, 3+eps, eps) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
265 %!error assert (3+2*eps, 3, eps) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
266 %!error assert (3, 3+2*eps, eps) |
5589 | 267 |
268 ## vectors | |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
269 %!assert ([1,2,3],[1,2,3]); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
270 %!assert ([1;2;3],[1;2;3]); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
271 %!error assert ([2;2;3],[1;2;3]); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
272 %!error assert ([1,2,3],[1;2;3]); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
273 %!error assert ([1,2],[1,2,3]); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
274 %!error assert ([1;2;3],[1;2]); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
275 %!assert ([1,2;3,4],[1,2;3,4]); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
276 %!error assert ([1,4;3,4],[1,2;3,4]) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
277 %!error assert ([1,3;2,4;3,5],[1,2;3,4]) |
5589 | 278 |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
279 ## must give a small tolerance for floating point errors on relative |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
280 %!assert (100+100*eps, 100, -2*eps) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
281 %!assert (100, 100+100*eps, -2*eps) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
282 %!error assert (100+300*eps, 100, -2*eps) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
283 %!error assert (100, 100+300*eps, -2*eps) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
284 %!error assert (3, [3,3]) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
285 %!error assert (3, 4) |
5589 | 286 |
7027 | 287 ## test relative vs. absolute tolerances |
288 %!test assert (0.1+eps, 0.1, 2*eps); # accept absolute | |
289 %!error assert (0.1+eps, 0.1, -2*eps); # fail relative | |
290 %!test assert (100+100*eps, 100, -2*eps); # accept relative | |
291 %!error assert (100+100*eps, 100, 2*eps); # fail absolute | |
292 | |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
293 ## exceptional values |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
294 %!assert ([NaN, NA, Inf, -Inf, 1+eps, eps], [NaN, NA, Inf, -Inf, 1, 0], eps) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
295 %!error assert (NaN, 1) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
296 %!error assert (NA, 1) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
297 %!error assert (-Inf, Inf) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
298 |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
299 ## strings |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
300 %!assert ("dog", "dog") |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
301 %!error assert ("dog", "cat") |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
302 %!error assert ("dog", 3) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
303 %!error assert (3, "dog") |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
304 |
5589 | 305 ## structures |
306 %!shared x,y | |
307 %! x.a = 1; x.b=[2, 2]; | |
308 %! y.a = 1; y.b=[2, 2]; | |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
309 %!assert (x, y) |
5589 | 310 %!test y.b=3; |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
311 %!error assert (x, y) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
312 %!error assert (3, x) |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
313 %!error assert (x, 3) |
12882
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
314 %!test |
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
315 %! # Empty structures |
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
316 %! x = resize (x, 0, 1); |
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
317 %! y = resize (y, 0, 1); |
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
318 %! assert (x, y); |
5589 | 319 |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
320 ## cell arrays |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
321 %!test |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
322 %! x = {[3], [1,2,3]; 100+100*eps, "dog"}; |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
323 %! y = x; |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
324 %! assert (x, y); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
325 %! y = x; y(1,1) = [2]; |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
326 %! fail ("assert (x, y)"); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
327 %! y = x; y(1,2) = [0, 2, 3]; |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
328 %! fail ("assert (x, y)"); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
329 %! y = x; y(2,1) = 101; |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
330 %! fail ("assert (x, y)"); |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
331 %! y = x; y(2,2) = "cat"; |
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
332 %! fail ("assert (x, y)"); |
12882
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
333 |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
334 %% Test input validation |
12882
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
335 %!error assert |
14070
c2c18e2e7c9c
assert.m: Update documentation string, add %!tests for cell arrays.
Rik <octave@nomad.inbox5.com>
parents:
14038
diff
changeset
|
336 %!error assert (1,2,3,4) |
12882
724bb6b7e3d5
assert.m: Correctly compare empty structures.
Rik <octave@nomad.inbox5.com>
parents:
12632
diff
changeset
|
337 |