From 42562ec45dcb106112c4347e37e3e8329720b36b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Wed, 18 Nov 2015 10:30:13 +0100
Subject: [PATCH] Added unit tests.

---
 src/@dates/ndat.m | 76 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 75 insertions(+), 1 deletion(-)

diff --git a/src/@dates/ndat.m b/src/@dates/ndat.m
index e817626..80be31e 100644
--- a/src/@dates/ndat.m
+++ b/src/@dates/ndat.m
@@ -1,4 +1,4 @@
-function s = ndat(o)
+function s = ndat(o) % --*-- Unitary tests --*--
 
 % Given a one element dates object, returns a string with the formatted date.
 %
@@ -24,3 +24,77 @@ function s = ndat(o)
 % along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
 
 s = size(o.time, 1);
+
+%@test:1
+%$ % Define a dates object
+%$ o = dates('1950Q1'):dates('1952Q1');
+%$
+%$ % Call the tested routine.
+%$ try
+%$     card = ndat(o);
+%$     t(1) = true;
+%$ catch
+%$     t(1) = false;
+%$ end
+%$
+%$ if t(1)
+%$     t(2) = dassert(card,9);
+%$ end
+%$ T = all(t);
+%@eof:1
+
+%@test:2
+%$ % Define a dates object
+%$ o = dates('1950M1'):dates('1951M6');
+%$
+%$ % Call the tested routine.
+%$ try
+%$     card = ndat(o);
+%$     t(1) = true;
+%$ catch
+%$     t(1) = false;
+%$ end
+%$
+%$ if t(1)
+%$     t(2) = dassert(card,18);
+%$ end
+%$ T = all(t);
+%@eof:2
+
+%@test:3
+%$ % Define a dates object
+%$ o = dates('1950W1'):dates('1950W16');
+%$
+%$ % Call the tested routine.
+%$ try
+%$     card = ndat(o);
+%$     t(1) = true;
+%$ catch
+%$     t(1) = false;
+%$ end
+%$
+%$ if t(1)
+%$     t(2) = dassert(card,16);
+%$ end
+%$ T = all(t);
+%@eof:3
+
+%@test:4
+%$ % Define a dates object
+%$ o = dates('1950Y'):dates('1959Y');
+%$
+%$ % Call the tested routine.
+%$ try
+%$     card = ndat(o);
+%$     t(1) = true;
+%$ catch
+%$     t(1) = false;
+%$ end
+%$
+%$ if t(1)
+%$     t(2) = dassert(card,10);
+%$ end
+%$ T = all(t);
+%@eof:4
+
+
-- 
GitLab