Mercurial > octave-nkf
annotate test/classes/classes.tst @ 16050:fc3cb570ac46 classdef
periodic merge of default to classdef.
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Mon, 11 Feb 2013 15:45:26 -0500 |
parents | test/classes/test_classes.m@dd4258398a59 test/classes/test_classes.m@1af8d21608b7 |
children | 0259254a3ccc |
rev | line source |
---|---|
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
1 ## Copyright (C) 2013 Julien Bect |
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
13695
diff
changeset
|
2 ## Copyright (C) 2009-2012 Robert T. Short |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
3 ## |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
4 ## This file is part of Octave. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
5 ## |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
6 ## Octave is free software; you can redistribute it and/or modify it |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
7 ## under the terms of the GNU General Public License as published by |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
8 ## the Free Software Foundation; either version 3 of the License, or (at |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
9 ## your option) any later version. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
10 ## |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
11 ## Octave is distributed in the hope that it will be useful, but |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
12 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
14 ## General Public License for more details. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
15 ## |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
16 ## You should have received a copy of the GNU General Public License |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
17 ## along with Octave; see the file COPYING. If not, see |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
18 ## <http://www.gnu.org/licenses/>. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
19 |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
20 %% Test script for legacy OOP. |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
21 %% Requires the path to contain the test classes. |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
22 %% |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
23 %% Note: This script and all classes are also intended to run |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
24 %% in MATLAB to test compatibility. Don't break that! |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
25 %% |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
26 %% Note(JBect, 2013/01/27) : in order to ease to process of testing |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
27 %% Matlab compatibility, the syntax assert(observed, expected) should |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
28 %% be avoided. I use assert(isequal(observed, expected) instead. |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
29 %% |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
30 %% To Do: This script tests to ensure that things done correctly work |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
31 %% corrrectly. It should also check that things done incorrectly |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
32 %% error properly. |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
33 %% |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
34 %% The classes used for the tests reside in the test directory. |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
35 %% |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
36 %% The classes provide the ability to test most of the major features |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
37 %% of the legacy OOP facilities. There are a number of classes, mostly |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
38 %% kind of the same, that create a hierarchy. |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
39 |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
40 %% Test the Snork class. The Snork class has a number of the standard |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
41 %% methods that the others don't so we can test indexing and other |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
42 %% features. |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
43 %!shared snk, snk1, snk2 |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
44 %!test snk = Snork(); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
45 %! assert (isequal (gick (snk), 1)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
46 %! assert (isequal (snk.gick, 1)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
47 %! assert (isequal (snk(2), 1)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
48 %! assert (isequal (snk{end}, 3)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
49 %!test snk = gick (snk, 2); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
50 %! assert (isequal (gick (snk), 2)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
51 %!test snk = set (snk, 'gick', 7); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
52 %! assert (isequal (get (snk, 'gick'), 7)); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
53 %!test snk.gick = 4; |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
54 %! assert (isequal (gick (snk),4)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
55 %! snk(1) = 3; |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
56 %!test snk{end} = 9; |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
57 %! assert (isequal (cack (snk), [3 1 2 9])); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
58 %! assert (isequal (getStash (snk), 1)); % Check private functions. |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
59 %! assert (isobject (snk)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
60 %! assert (isequal (class (snk), 'Snork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
61 %! assert (isa (snk, 'Snork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
62 %! assert (~isa (snk, 'Sneetch')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
63 %! assert (ismethod (snk, 'gick')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
64 %! assert (~ismethod (snk, 'bletch')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
65 %! assert (exist ('snk') == 1); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
66 %! assert (exist ('blink') == 0); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
67 %!test snk1 = Snork(snk); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
68 %! assert (isequal (class (snk1), 'Snork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
69 %! assert (isequal (gick (snk1), 4)); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
70 %!test snk2 = Snork(-3); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
71 %! assert (isequal (class (snk2), 'Snork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
72 %! assert (isequal (gick (snk2), -3)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
73 %!test x = [1 2 3 4]; |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
74 %! assert (isequal (x(snk), 1)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
75 |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
76 %% x = methods ('Snork'); % Need to test the methods function. |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
77 %% save temp snk; |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
78 %% load temp % This load causes a segfault. |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
79 %% assert (isequal (cack(snk), [-1 -2 -3 -4])); % This is a major bug! |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
80 |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
81 %% The Spork class is a near clone of Snork but without as many standard |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
82 %% methods. We are testing no new octave features, but this is makes |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
83 %% sure that we haven't bollixed up the Spork class if we should make |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
84 %% changes. We use Spork in the class hierarchy. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
85 %!shared sprk |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
86 %!test sprk = Spork(); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
87 %! assert (isequal (geek (sprk), 1)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
88 %!test sprk = geek (sprk, 3); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
89 %! assert (isequal (geek (sprk), 3)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
90 %!test sprk = set (sprk,'geek',7); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
91 %! assert (isequal (get (sprk, 'geek'), 7)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
92 %! assert (isequal (class (sprk), 'Spork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
93 %! assert (isa (sprk, 'Spork')); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
94 |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
95 %% The Blork class is a near clone of Snork but without as many standard |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
96 %% methods. We are testing no new octave features, but this is makes |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
97 %% sure that we haven't bollixed up the Blork class if we should make |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
98 %% changes. We use Blork in the class hierarchy. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
99 %!shared blrk |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
100 %!test blrk = Blork(); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
101 %! assert (isequal (bleek(blrk), 1)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
102 %!test blrk = bleek (blrk, 3); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
103 %! assert (isequal (bleek (blrk), 3)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
104 %!test blrk = set (blrk, 'bleek', 13); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
105 %! assert (isequal (get (blrk, 'bleek'), 13)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
106 %! assert (isequal (class (blrk), 'Blork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
107 %! assert (isa (blrk, 'Blork')); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
108 |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
109 %% The Cork class is a near clone of Snork but without as many standard |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
110 %% methods. We are testing no new octave features, but this is makes |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
111 %% sure that we haven't bollixed up the Cork class if we should make |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
112 %% changes. We use Cork in the class hierarchy. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
113 %!shared crk |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
114 %!test crk = Cork(23); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
115 %! assert (isequal (click(crk), 23)); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
116 %!test crk = click(crk,3); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
117 %! assert (isequal (click(crk), 3)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
118 %!test crk = set (crk, 'click', 13); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
119 %! assert (isequal (get (crk, 'click'), 13)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
120 %! assert (isequal (class (crk), 'Cork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
121 %! assert (isa (crk, 'Cork')); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
122 |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
123 %% The Dork class tests single inheritance. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
124 %!shared drk |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
125 %!test drk = Dork(); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
126 %! assert (isequal (gack (drk),0)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
127 %!test drk = gack (drk,-2); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
128 %! assert (isequal (gack (drk),-2)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
129 %!test drk = gick (drk,2); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
130 %! assert (isequal (gick (drk),2)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
131 %!test drk = set (drk, 'gick',3, 'gack',-3); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
132 %! assert (isequal (get (drk, 'gick'), 3)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
133 %! assert (isequal (get (drk, 'gack'), -3)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
134 %! assert (isequal (class (drk), 'Dork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
135 %! assert (isa (drk, 'Dork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
136 %! assert (isa (drk, 'Snork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
137 %! assert (isequal (getStash (drk), 2)); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
138 %!test drk1 = Dork(drk); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
139 %! assert (isequal (class (drk1), 'Dork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
140 %! assert (isa (drk1, 'Snork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
141 %! assert (isequal (gick (drk1), 3)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
142 %! assert (isequal (gack (drk1), -3)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
143 %!test drk2 = Dork(-4, 4); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
144 %! assert (isequal (class (drk2), 'Dork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
145 %! assert (isa (drk2, 'Snork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
146 %! assert (isequal (gick (drk2), -4)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
147 %! assert (isequal (gack (drk2), 4)); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
148 |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
149 %% The Pork class is essentially a clone of Dork. It is used as part |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
150 %% of the multiple inheritance test. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
151 %!shared prk, drk |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
152 %!test prk = Pork(); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
153 %! assert (isequal (geek (prk), 1)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
154 %! assert (isequal (gurk (prk), 0)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
155 %!test prk = gurk (prk,-3); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
156 %! assert (isequal (gurk (prk), -3)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
157 %!test prk = geek (prk,9); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
158 %! assert (isequal (geek (prk), 9)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
159 %! assert (isequal (class (prk), 'Pork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
160 %! assert (isa (prk, 'Pork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
161 %! assert (isa (prk, 'Spork')); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
162 %!test drk = Dork(); % Precedence. |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
163 %! assert (isequal (bling (drk, prk), 2)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
164 %! assert (isequal (bling (prk, drk), 2)); |
16030
1af8d21608b7
rename all test files in the test directory from test_X.m to X.tst
John W. Eaton <jwe@octave.org>
parents:
16014
diff
changeset
|
165 |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
166 %% The Gork class tests aggregation and multiple inheritance. |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
167 %!shared grk |
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
168 %!test grk = Gork(); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
169 %! assert (isequal (gick (grk), 1)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
170 %! assert (isequal (geek (grk), 1)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
171 %! assert (isequal (gack (grk), 0)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
172 %! assert (isequal (gurk (grk), 0)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
173 %! assert (isequal (bleek (grk), 1)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
174 %! assert (isequal (gark(grk), -2)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
175 %! assert (isequal (click (cork (grk)), 17)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
176 %! assert (isequal (class (cork (grk)), 'Cork')); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
177 %!test grk = gick (grk, 3); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
178 %!test grk = geek (grk, 4); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
179 %!test grk = gack (grk, -9); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
180 %!test grk = gurk (grk, -8); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
181 %!test grk = bleek (grk, -7); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
182 %!test grk = gark (grk, -6); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
183 %!test grk = cork (grk, click (cork (grk), 23)); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
184 %! assert (isequal (gick (grk), 3)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
185 %! assert (isequal (geek (grk), 4)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
186 %! assert (isequal (gack (grk), -9)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
187 %! assert (isequal (gurk (grk), -8)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
188 %! assert (isequal (bleek (grk), -7)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
189 %! assert (isequal (gark (grk), -6)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
190 %! assert (isequal (click (cork (grk)), 23)); |
9381
f9ab19428cd8
* run-octave.in: Exclude @-files from path. Remove CVS exclusions.
Robert T. Short <octave@phaselockedsystems.com>
parents:
diff
changeset
|
191 %!test |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
192 %! cork1 = Cork(13); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
193 %! grk = set (grk, 'gick', -5, 'gack', -6, 'gark', -7, 'cork', cork1); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
194 %! assert (isequal (get (grk, 'gick'), -5)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
195 %! assert (isequal (get (grk, 'gack'), -6)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
196 %! assert (isequal (get (grk, 'gark'), -7)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
197 %! assert (isequal (click(get (grk, 'cork')), 13)); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
198 %!test grk = set (grk, 'cork', 12); |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
199 %! assert (isequal (click(get (grk, 'cork')),12)); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
200 %! assert (isequal (class (cork(grk)), 'Cork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
201 %! assert (isequal (class (grk), 'Gork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
202 %! assert (isa (grk, 'Gork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
203 %! assert (isa (grk, 'Dork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
204 %! assert (isa (grk, 'Pork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
205 %! assert (isa (grk, 'Blork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
206 %! assert (isa (grk, 'Snork')); |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
207 %! assert (isa (grk, 'Spork')); |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
208 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
209 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
210 %% Testing (some) overloaded operators %% |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
211 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
212 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
213 %% Common variables for testing overloaded operators |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
214 %!shared x1, x2, x3, s1, s2, s3 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
215 %! x1 = 1 + rand(3); s1 = Snork(x1); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
216 %! x2 = 1 + rand(3); s2 = Snork(x2); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
217 %! x3 = diag([1 2 3]); s3 = Snork(x3); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
218 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
219 %% Test overloaded plus (+) and uplus (unitary +) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
220 %!test s = s1 + s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 + x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
221 %!test s = s1 + x2; assert (isa (s, 'Snork') && isequal (s.gick, x1 + x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
222 %!test s = x1 + s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 + x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
223 %!test s = +s1; assert (isequal (s, s1)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
224 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
225 %% Test overloaded minus (-) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
226 %!test s = s1 - s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 - x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
227 %!test s = s1 - x2; assert (isa (s, 'Snork') && isequal (s.gick, x1 - x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
228 %!test s = x1 - s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 - x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
229 %!test s = -s1; assert (isequal (s, Snork(-x1))); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
230 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
231 %% Test overloaded mtimes (*) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
232 %!test s = s1 * s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 * x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
233 %!test s = s1 * x2; assert (isa (s, 'Snork') && isequal (s.gick, x1 * x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
234 %!test s = x1 * s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 * x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
235 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
236 %% Test overloaded times (.*) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
237 %!test s = s1 .* s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 .* x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
238 %!test s = s1 .* x2; assert (isa (s, 'Snork') && isequal (s.gick, x1 .* x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
239 %!test s = x1 .* s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 .* x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
240 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
241 %% Test overloaded mpower (^) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
242 %!test s = s1 ^ 3; assert (isa (s, 'Snork') && isequal (s.gick, x1 ^ 3)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
243 %!error <mpower Snork!!!> s = s1 ^ s1; |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
244 %!error <mpower Snork!!!> s = 20 ^ s1; |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
245 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
246 %% Test overloaded power (.^) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
247 %!test s = s1 .^ 2; assert (isa (s, 'Snork') && isequal (s.gick, x1 .^ 2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
248 %!error <power Snork!!!> s = s1 .^ s1; |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
249 %!error <power Snork!!!> s = 20 .^ s1; |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
250 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
251 %% Test overloaded rdivide (./) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
252 %!test s = s1 ./ s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 ./ x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
253 %!test s = s1 ./ x2; assert (isa (s, 'Snork') && isequal (s.gick, x1 ./ x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
254 %!test s = x1 ./ s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 ./ x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
255 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
256 %% Test overloaded ldivide (.\) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
257 %!test s = s1 .\ s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 .\ x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
258 %!test s = s1 .\ x2; assert (isa (s, 'Snork') && isequal (s.gick, x1 .\ x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
259 %!test s = x1 .\ s2; assert (isa (s, 'Snork') && isequal (s.gick, x1 .\ x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
260 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
261 %% Test overloaded mrdivide (/) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
262 %!test s = s1 / s3; assert (isa (s, 'Snork') && isequal (s.gick, x1 / x3)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
263 %!test s = s1 / x3; assert (isa (s, 'Snork') && isequal (s.gick, x1 / x3)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
264 %!test s = x1 / s3; assert (isa (s, 'Snork') && isequal (s.gick, x1 / x3)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
265 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
266 %% Test overloaded mldivide (\) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
267 %!test s = s3 \ s2; assert (isa (s, 'Snork') && isequal (s.gick, x3 \ x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
268 %!test s = s3 \ x2; assert (isa (s, 'Snork') && isequal (s.gick, x3 \ x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
269 %!test s = x3 \ s2; assert (isa (s, 'Snork') && isequal (s.gick, x3 \ x2)); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
270 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
271 %% Test overloaded eq (==) for the Snork class |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
272 %!assert (s1 == s1) |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
273 %!assert (s1 == x1) |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
274 %!assert (x1 == s1) |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
275 %!assert (~(s1 == (s1 + 1))) |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
276 %!assert (~(s1 == (x1 + 1))) |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
277 %!assert (~(x1 == (s1 + 1))) |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
278 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
279 %% Test overloaded ne (~=) for the Snork class |
16014
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
280 %!assert (~(s1 ~= s1)) |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
281 %!assert (~(s1 ~= x1)) |
980f79a7bb55
test_classes.m: Use Octave coding conventions.
Rik <rik@octave.org>
parents:
15985
diff
changeset
|
282 %!assert (~(x1 ~= s1)) |
15985
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
283 %!assert (s1 ~= (s1 + 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
284 %!assert (x1 ~= (s1 + 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
285 %!assert (s1 ~= (x1 + 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
286 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
287 %% Test overloaded lt (<) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
288 %!assert (s1 < (s1 + 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
289 %!assert (s1 < (x1 + 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
290 %!assert (x1 < (s1 + 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
291 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
292 %% Test overloaded gt (>) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
293 %!assert (s1 > (s1 - 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
294 %!assert (s1 > (x1 - 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
295 %!assert (x1 > (s1 - 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
296 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
297 %% Test overloaded lt (<=) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
298 %!assert (s1 <= (s1 + 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
299 %!assert (s1 <= (x1 + 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
300 %!assert (x1 <= (s1 + 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
301 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
302 %% Test overloaded gt (>=) for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
303 %!assert (s1 >= (s1 - 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
304 %!assert (s1 >= (x1 - 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
305 %!assert (x1 >= (s1 - 1)) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
306 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
307 %% Test overloaded vertcat() for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
308 %% See bug #38170 (http://savannah.gnu.org/bugs/?38170) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
309 %!test s = [s1; s2]; assert (isa (s, 'Snork') && isequal (s.gick, [x1; x2])); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
310 %!xtest s = [s1; x2]; assert (isa (s, 'Snork') && isequal (s.gick, [x1; x2])); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
311 %!xtest s = [x1; s2]; assert (isa (s, 'Snork') && isequal (s.gick, [x1; x2])); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
312 |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
313 %% Test overloaded horzcat() for the Snork class |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
314 %% See bug #38170 (http://savannah.gnu.org/bugs/?38170) |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
315 %!test s = [s1 s2]; assert (isa (s, 'Snork') && isequal (s.gick, [x1 x2])); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
316 %!xtest s = [s1 x2]; assert (isa (s, 'Snork') && isequal (s.gick, [x1 x2])); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
317 %!xtest s = [x1 s2]; assert (isa (s, 'Snork') && isequal (s.gick, [x1 x2])); |
f75ffcc82acb
Added tests for the legacy class system.
Julien Bect <julien.bect@supelec.fr>
parents:
14138
diff
changeset
|
318 |