From 0c98ba67f6d3bfdb386d7263a029594b359daee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?= Date: Wed, 2 Jul 2014 16:08:08 +0200 Subject: [PATCH] Fixed bug and added unitary tests. --- matlab/@dates/dates.m | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/matlab/@dates/dates.m b/matlab/@dates/dates.m index c1c80fea2..ecc55ef51 100644 --- a/matlab/@dates/dates.m +++ b/matlab/@dates/dates.m @@ -112,8 +112,8 @@ if isequal(nargin,3) && isfreq(varargin{1}) else dd.freq = varargin{1}; end - if (isnumeric(varargin{2}) && isvector(varargin{2}) && isint(varargin{2})) - if isnumeric(varargin{3}) && isvector(varargin{3}) && isint(varargin{3}) + if (isnumeric(varargin{2}) && isvector(varargin{2}) && all(isint(varargin{2}))) + if isnumeric(varargin{3}) && isvector(varargin{3}) && all(isint(varargin{3})) if all(varargin{3}>=1) && all(varargin{3}<=dd.freq) dd.time = [varargin{2}(:), varargin{3}(:)]; dd.ndat = size(dd.time,1); @@ -286,4 +286,26 @@ error('dates::dates: Wrong calling sequence!') %$ t(3) = dyn_assert(d.time,[1950 2]); %$ end %$ T = all(t); -%@eof:6 \ No newline at end of file +%@eof:6 + +%@test:7 +%$ try +%$ B = dates(4,[1950; 1950], [1; 2]); +%$ t = 1; +%$ catch +%$ t = 0; +%$ end +%$ +%$ T = all(t); +%@eof:7 + +%@test:8 +%$ try +%$ B = dates(4,[1950, 1950], [1, 2]); +%$ t = 1; +%$ catch +%$ t = 0; +%$ end +%$ +%$ T = all(t); +%@eof:8 \ No newline at end of file