annotate test/test_args.m @ 7948:af10baa63915 ss-3-1-50

3.1.50 snapshot
author John W. Eaton <jwe@octave.org>
date Fri, 18 Jul 2008 17:42:48 -0400
parents c10d77387d96
children 065a05eb148a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
1 ## Copyright (C) 2006, 2007, 2008 John W. Eaton
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
2 ##
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
3 ## This file is part of Octave.
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
4 ##
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
6 ## under the terms of the GNU General Public License as published by
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
8 ## your option) any later version.
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
9 ##
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
13 ## General Public License for more details.
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
14 ##
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
15 ## You should have received a copy of the GNU General Public License
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
17 ## <http://www.gnu.org/licenses/>.
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5590
diff changeset
18
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
19 ########################################
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
20 ## No inputs or no outputs
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
21
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
22 ## no input or output arguments
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
23 %!function f ()
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
24 %! assert (nargin, 0);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
25 %! assert (nargout, 0);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
26 %!test
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
27 %! f;
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
28
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
29 ## one input with two possible inputs
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
30 %!function f (x, y)
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
31 %! assert (nargin, 1);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
32 %! assert (nargout, 0);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
33 %!test
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
34 %! f (1);
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
35
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
36 ## no inputs, one of multiple outputs
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
37 %!function [x, y] = f ()
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
38 %! assert (nargin, 0);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
39 %! assert (nargout, 1);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
40 %! x = 2;
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
41 %!test
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
42 %! assert (f (), 2);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
43
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
44 ## one of multiple inputs, one of multiple outputs
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
45 %!function [x, y] = f (a, b)
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
46 %! assert (nargin, 1);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
47 %! assert (nargout, 1);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
48 %! x = a;
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
49 %!test
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
50 %! assert (f (1), 1);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
51
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
52 ########################################
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
53 ## Varargin, varargout
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
54
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
55 ## varargin and varargout with no inputs or outputs
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
56 %!function [varargout] = f (varargin)
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
57 %! assert (nargin, 0);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
58 %! assert (nargout, 0);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
59 %!test
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
60 %! f;
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
61
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
62 ## varargin and varargout with one input
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
63 %!function [varargout] = f (x, varargin)
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
64 %! assert (nargin, 1);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
65 %! assert (nargout, 0);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
66 %!test
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
67 %! f (1);
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
68
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
69 ## varargin and varargout with one output
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
70 %!function [x, varargout] = f (varargin)
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
71 %! assert (nargin, 0);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
72 %! assert (nargout, 1);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
73 %! x = 2;
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
74 %!test
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
75 %! assert (f (), 2);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
76
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
77 ## varargin and varargout with one input and output
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
78 %!function [varargout] = f (varargin)
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
79 %! assert (nargin, 1);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
80 %! assert (nargout, 1);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
81 %! varargout{1} = varargin{1};
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
82 %!test
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
83 %! assert (f (1), 1);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
84
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
85 ## multiple inputs, multiple outputs, but not all of either
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
86 ## WARNING: The original test did not assign the outputs, it just
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
87 ## requested them, and I think that is supposed to be an error. It also
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
88 ## still has a non-assigned output argument.
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
89 %!function [x, y, z] = f (a, b, c, d, e)
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
90 %! assert (nargin, 4);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
91 %! assert (nargout, 2);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
92 %! x = a;
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
93 %! y = b;
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
94 %!test
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
95 %! [s, t] = f (1, 2, 3, 4);
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
96 %! assert([s t], [1 2]);
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
97
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
98 ## Fully used varargin and varargout
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
99 %!function [varargout] = f (varargin)
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
100 %! assert (nargin, 3);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
101 %! assert (nargout, 4);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
102 %! varargout{1} = varargin{1};
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
103 %! varargout{2} = varargin{2};
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
104 %! varargout{3} = varargin{3};
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
105 %! varargout{4} = 4;
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
106 %!test
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
107 %! [s, t, u, v] = f (1, 2, 3);
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
108 %! assert([s t u v], [1 2 3 4]);
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
109
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
110 ## Test default arguments
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
111 ## numeric
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
112 %!function f (x = 0)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
113 %! assert (x, 0)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
114 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
115 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
116
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
117 ## numeric vector (spaces)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
118 %!function f (x = [0 1 2])
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
119 %! assert (x, [0 1 2])
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
120 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
121 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
122
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
123 ## numeric vector (range)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
124 %!function f (x = 1:3)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
125 %! assert (x, 1:3)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
126 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
127 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
128
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
129 ## numeric vector (commas)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
130 %!function f (x = [0,1,2])
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
131 %! assert (x, [0 1 2])
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
132 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
133 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
134
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
135 ## numeric vector (commas and spaces)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
136 %!function f (x = [0, 1, 2])
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
137 %! assert (x, [0 1 2])
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
138 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
139 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
140
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
141 ## numeric matrix
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
142 %!function f (x = [0, 1, 2;3, 4, 5])
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
143 %! assert (x, [0 1 2;3 4 5])
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
144 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
145 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
146
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
147 ## empty cell
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
148 %!function f (x = {})
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
149 %! assert (x, {})
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
150 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
151 %! f()
5590
1ad66ea35fe5 [project @ 2006-01-06 00:24:05 by jwe]
jwe
parents:
diff changeset
152
7775
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
153 ## full cell
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
154 %!function f (x = {1})
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
155 %! assert (x, {1})
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
156 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
157 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
158
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
159 ## many cells
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
160 %!function f (x = {1 'a' "b" 2.0 struct("a", 3)})
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
161 %! assert (x, {1 'a' "b" 2.0 struct("a", 3)})
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
162 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
163 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
164
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
165 ## struct
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
166 %!function f (x = struct("a", 3))
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
167 %! assert (x, struct ("a", 3))
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
168 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
169 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
170
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
171 ## char (double quotes)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
172 %!function f (x = "a")
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
173 %! assert (x, "a")
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
174 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
175 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
176
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
177 ## char (single quotes)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
178 %!function f (x = 'a')
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
179 %! assert (x, "a")
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
180 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
181 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
182
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
183 ## char (string, double quotes)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
184 %!function f (x = "abc123")
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
185 %! assert (x, "abc123")
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
186 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
187 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
188
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
189 ## char (string, double quotes, punctuation)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
190 %!function f (x = "abc123`1234567890-=~!@#$%^&*()_+[]{}|;':\",./<>?\\")
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
191 %! assert (x, "abc123`1234567890-=~!@#$%^&*()_+[]{}|;':\",./<>?\\")
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
192 %!test
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
193 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
194
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
195 ## Function handle (builtin)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
196 %!function f (x = @sin)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
197 %! assert (x, @sin)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
198 %!xtest
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
199 %! f()
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
200
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
201 ## Function handle (anonymous)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
202 %!function f (x = @(x) x.^2)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
203 %! assert (x, @(x) x.^2)
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
204 %!xtest
c10d77387d96 test_args: update function argument tests
bill@denney.ws
parents: 7017
diff changeset
205 %! f()