changeset 15951:dd4258398a59 classdef

Move tests for classdef from test/classes. * test/classdef/foo_payment.m: Moved from test/classes. * test/classdef/module.mk: New file. * test/classdef/test_classes.m: Tests for classdef from test/classes/test_classes.m * test/classse/module.mk: Remvoe foo_payment from classes_FCN_FILES. * test/classes/test_classes.m: Remove tests for classdef.
author Ben Abbott <bpabbott@mac.com>
date Mon, 14 Jan 2013 21:52:11 -0500
parents 32fe9f6f229a
children 9c7e1c633e47
files test/classdef/module.mk test/classdef/test_classes.m test/classes/module.mk test/classes/test_classes.m
diffstat 4 files changed, 56 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/classdef/module.mk	Mon Jan 14 21:52:11 2013 -0500
@@ -0,0 +1,5 @@
+classes_FCN_FILES = \
+  classes/foo_payment.m \
+  classes/test_classes.m
+
+FCN_FILES += $(classes_FCN_FILES)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/classdef/test_classes.m	Mon Jan 14 21:52:11 2013 -0500
@@ -0,0 +1,51 @@
+## Copyright (C) 2013 Ben Abbott
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+%%  Test script for classdef OOP.
+%%  Requires the path to contain the test classes.
+%%
+%%  Note: This script and all classes are also intended to run
+%%        in MATLAB to test compatibility.  Don't break that!
+%%
+%%  To Do:  This script tests to ensure that things done correctly work
+%%          corrrectly.  It should also check that things done incorrectly
+%%          error properly.
+%%
+%%  The classes used for the tests reside in the test/classdef with others
+%%  in the test directory.
+%%
+%%  The classes provide the ability to test most of the major features
+%%  of the classdef OOP facilities.  There are a number of classes, mostly
+%%  kind of the same, that create a hierarchy.
+
+%%  Basic classdef tests
+%!shared p, i, amt
+%! p = foo_payment (4, 4*12, 50e3);
+%! i = p.rate / (12 * 100);
+%! amt = (p.principle * i) / (1 - (1 + i)^(-p.term));
+%!assert (class (p), "foo_payment");
+%!assert (p.term, 48);
+%!assert (p.rate, 4.0);
+%!assert (p.principle, 50e3);
+%!assert (p.amount, amt, eps ())
+%!xtest
+%! assert (amount (p), amt, eps ())
+%!xtest
+%! xassert (properties (p), {'rate'; 'term'; 'principle'})
+%!xtest
+%! xassert (methods (p), {'amount'; 'foo_payment'})
--- a/test/classes/module.mk	Mon Jan 14 13:47:32 2013 -0500
+++ b/test/classes/module.mk	Mon Jan 14 21:52:11 2013 -0500
@@ -4,7 +4,6 @@
   classes/@Blork/display.m \
   classes/@Blork/get.m \
   classes/@Blork/set.m \
-  classes/foo_payment.m \
   classes/@Cork/Cork.m \
   classes/@Cork/click.m \
   classes/@Cork/display.m \
--- a/test/classes/test_classes.m	Mon Jan 14 13:47:32 2013 -0500
+++ b/test/classes/test_classes.m	Mon Jan 14 21:52:11 2013 -0500
@@ -199,20 +199,3 @@
 %!  assert(isa(grk,'Blork'))
 %!  assert(isa(grk,'Snork'))
 %!  assert(isa(grk,'Spork'))
-
-%%  Basic classdef tests
-%!shared p, i, amt
-%! p = foo_payment (4, 4*12, 50e3);
-%! i = p.rate / (12 * 100);
-%! amt = (p.principle * i) / (1 - (1 + i)^(-p.term));
-%!assert (class (p), "foo_payment");
-%!assert (p.term, 48);
-%!assert (p.rate, 4.0);
-%!assert (p.principle, 50e3);
-%!assert (p.amount, amt, eps ())
-%!xtest
-%! assert (amount (p), amt, eps ())
-%!xtest
-%! xassert (properties (p), {'rate'; 'term'; 'principle'})
-%!xtest
-%! xassert (methods (p), {'amount'; 'foo_payment'})