Mercurial > octave-nkf
diff test/classdef/foo_static_method_constant_property.m @ 15962:a3d7b927ce47 classdef
Add classdef tests for static methods and constant properties.
* test/classdef/foo_static_method_constant_property.m: New file.
* test/classdef/module.mk: Include new file.
* test/classdef/test_classdef.m: Add tests.
author | Ben Abbott <bpabbott@mac.com> |
---|---|
date | Thu, 17 Jan 2013 18:11:48 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/classdef/foo_static_method_constant_property.m Thu Jan 17 18:11:48 2013 -0500 @@ -0,0 +1,30 @@ +classdef foo_static_method_constant_property + properties + frequency; + end + properties (Constant = true) + pie = pi; + end + methods + function obj = foo_static_method_constant_property (f) + if (nargin == 1) + obj.frequency = f; + elseif (nargin ~= 0) + error ('foo_static_method_constant_property:SyntaxError', ... + 'foo_static_method_constant_property: Invalid syntax') + end + end + function res = cosine (obj, t) + res = cos (obj.radians_per_cycle () * obj.frequency * t); + end + function res = sine (obj, t) + res = sin (obj.radians_per_cycle () * obj.frequency * t); + end + end + methods (Static) + function res = radians_per_cycle () + res = 2 * foo_static_method_constant_property.pie; + end + end +end +