# HG changeset patch # User Ben Abbott # Date 1358222214 18000 # Node ID 9c7e1c633e477807ef900b3ca2365cca8ab180f1 # Parent dd4258398a59d0a63c545d67c6594922ddb6ac68 Include classdef tests in Makefile.am * test/Makefile.am: Include classdef tests. * test/classdef/test_classdef.m: Renamed test/classdef/test_classes.m. diff -r dd4258398a59 -r 9c7e1c633e47 test/Makefile.am --- a/test/Makefile.am Mon Jan 14 21:52:11 2013 -0500 +++ b/test/Makefile.am Mon Jan 14 22:56:54 2013 -0500 @@ -52,6 +52,7 @@ include bug-35448/module.mk include bug-36025/module.mk +include classdef/module.mk include classes/module.mk include class-concat/module.mk include ctor-vs-method/module.mk diff -r dd4258398a59 -r 9c7e1c633e47 test/classdef/module.mk --- a/test/classdef/module.mk Mon Jan 14 21:52:11 2013 -0500 +++ b/test/classdef/module.mk Mon Jan 14 22:56:54 2013 -0500 @@ -1,5 +1,5 @@ -classes_FCN_FILES = \ +classdef_FCN_FILES = \ classes/foo_payment.m \ - classes/test_classes.m + classes/test_classdef.m -FCN_FILES += $(classes_FCN_FILES) +FCN_FILES += $(classdef_FCN_FILES) diff -r dd4258398a59 -r 9c7e1c633e47 test/classdef/test_classdef.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/classdef/test_classdef.m Mon Jan 14 22:56:54 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 +## . + +%% 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'}) diff -r dd4258398a59 -r 9c7e1c633e47 test/classdef/test_classes.m --- a/test/classdef/test_classes.m Mon Jan 14 21:52:11 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -## 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 -## . - -%% 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'})