diff --git a/src/@dates/sort.m b/src/@dates/sort.m
index 2b2bda7e0443c0aaeaccfa468ba95346f25f74bf..803df3709c08a29c1e1a7ebeaeac7f5b1b706a42 100644
--- a/src/@dates/sort.m
+++ b/src/@dates/sort.m
@@ -40,12 +40,50 @@ o.sort_();
 %$
 %$ % Call the tested routine.
 %$ d = dates(B1,B2,B3,B4);
-%$ c = d.sort();
+%$ try
+%$     c = d.sort();
+%$     t(1) = true;
+%$ catch
+%$     t(1) = false;
+%$ end
 %$ 
 %$ % Check the results.
-%$ t(1) = ~dassert(d.time,e.time);
-%$ t(2) = dassert(c.time,e.time);
-%$ t(3) = dassert(d.freq,e.freq);
-%$ t(4) = dassert(c.freq,e.freq);
+%$ if t(1)
+%$     t(2) = dassert(d.time,f.time);
+%$     t(3) = dassert(c.time,e.time);
+%$     t(4) = dassert(d.freq,e.freq);
+%$     t(5) = dassert(c.freq,e.freq);
+%$ end
 %$ T = all(t);
-%@eof:1
\ No newline at end of file
+%@eof:1
+
+%@test:2
+%$ % Define some dates
+%$ B1 = '1953Q4';
+%$ B2 = '1950Q2';
+%$ B3 = '1950Q1';
+%$ B4 = '1945Q3';
+%$
+%$ % Define expected results.
+%$ e.time = [1945 3; 1950 1; 1950 2; 1953 4];
+%$ e.freq = 4;
+%$ f.time = [1953 4; 1950 2; 1950 1; 1945 3];
+%$
+%$ % Call the tested routine.
+%$ d = dates(B1,B2,B3,B4);
+%$ try
+%$     c = sort(d);
+%$     t(1) = true;
+%$ catch
+%$     t(1) = false;
+%$ end
+%$ 
+%$ % Check the results.
+%$ if t(1)
+%$     t(2) = dassert(d.time,f.time);
+%$     t(3) = dassert(c.time,e.time);
+%$     t(4) = dassert(d.freq,e.freq);
+%$     t(5) = dassert(c.freq,e.freq);
+%$ end
+%$ T = all(t);
+%@eof:2
\ No newline at end of file
diff --git a/src/@dates/sort_.m b/src/@dates/sort_.m
index 7b3f97e5d86646b6c53b7a149b8605dc00fe81bc..08402e6a2f09366e4f35aca1c9ae75a954206c42 100644
--- a/src/@dates/sort_.m
+++ b/src/@dates/sort_.m
@@ -42,11 +42,18 @@ o.time = sortrows(o.time,[1,2]);
 %$
 %$ % Call the tested routine.
 %$ d = dates(B1,B2,B3,B4);
-%$ d.sort_();
+%$ try
+%$     d.sort_();
+%$     t(1) = true;
+%$ catch
+%$     t(1) = false;
+%$ end
 %$ 
 %$ % Check the results.
-%$ t(1) = dassert(d.time,e.time);
-%$ t(2) = dassert(d.freq,e.freq);
+%$ if t(1)
+%$     t(2) = dassert(d.time,e.time);
+%$     t(3) = dassert(d.freq,e.freq);
+%$ end
 %$ T = all(t);
 %@eof:1
 
@@ -63,10 +70,17 @@ o.time = sortrows(o.time,[1,2]);
 %$
 %$ % Call the tested routine.
 %$ d = dates(B1,B2,B3,B4);
-%$ c = sort_(d);
+%$ try
+%$     c = sort_(d);
+%$     t(1) = true;
+%$ catch
+%$     t(1) = false;
+%$ end
 %$ 
 %$ % Check the results.
-%$ t(1) = dassert(d.time,e.time);
-%$ t(2) = dassert(d.freq,e.freq);
+%$ if t(1)
+%$     t(2) = dassert(d.time,e.time);
+%$     t(3) = dassert(d.freq,e.freq);
+%$ end
 %$ T = all(t);
 %@eof:2
\ No newline at end of file