Index: tol/btol/timeset_type/tmsgra.cpp
===================================================================
--- tol/btol/timeset_type/tmsgra.cpp	(revision c16d2f22bf6b94833da08204d4b612981ad44115)
+++ tol/btol/timeset_type/tmsgra.cpp	(revision 2fa44ff5e625b139b2f8d3138e9d350797540e66)
@@ -217,4 +217,5 @@
   d.PutFraction(0);
   d.IncDay(1);
+  assert(d>=dte);
   return(d);
 }
@@ -226,4 +227,5 @@
   d.PutFraction(0);
   if(!dte.Fraction()) { d.IncDay(-1); }
+  assert(d<=dte);
   return(d);
 }
@@ -292,6 +294,9 @@
   EnsureLimitsSuccessor(dte);
   BDate easterDay = DteEasterSunday(dte.Year());
-  if (dte < easterDay)     { return(easterDay); }
-  else	                   { return(DteEasterSunday(dte.Year()+1)); }
+  BDate d;
+  if (dte < easterDay) { d=easterDay; }
+  else	               { d=DteEasterSunday(dte.Year()+1); }
+  assert(d>=dte);
+  return(d);
 }
 
@@ -302,6 +307,9 @@
   EnsureLimitsPredecessor(dte);
   BDate easterDay = DteEasterSunday(dte.Year());
-  if (dte > easterDay)     { return(easterDay); }
-  else		                 { return(DteEasterSunday(dte.Year()-1)); }
+  BDate d;
+  if (dte > easterDay)     { d=easterDay; }
+  else		                 { d=DteEasterSunday(dte.Year()-1); }
+  assert(d<=dte);
+  return(d);
 }
 
@@ -319,4 +327,5 @@
     d = DteEasterSunday(y);
   }
+  assert(d>=dte);
   return(d);
 }
@@ -337,4 +346,5 @@
     d = DteEasterSunday(y);
   }
+  assert(d<=dte);
   return(d);
 }
@@ -386,4 +396,5 @@
   d+=(7+weekDay_-w)%7 + 7*(weekDay_==w);
 //Std(BText("\nBTmsWeekDay::Successor(")+dte+")="+d);
+  assert(d>=dte);
   return(d);
 }
@@ -400,4 +411,5 @@
   d-= (7+w-weekDay_)%7 + 7*((w==weekDay_));
 //Std(BText("\nBTmsWeekDay::Predecessor(")+dte+")="+d);
+  assert(d<=dte);
   return(d);
 }
@@ -413,4 +425,5 @@
   if(nth>1) { d+= 7*(nth-1); }
 //Std(BText("\nBTmsWeekDay::Next(")+dte+","+nth+")="+d);
+  assert(d>=dte);
   return(d);
 }
@@ -429,4 +442,5 @@
 
 //Std(BText("\nBTmsWeekDay::Prev(")+dte+","+nth+")="+d);
+  assert(d<=dte);
   return(d);
 }
@@ -479,4 +493,5 @@
   { suc.IncMonth(1); }
   suc.PutDay(monthDay_);
+  assert(suc>=dte);
   return(suc);
 }
@@ -494,4 +509,5 @@
   { pre.IncMonth(-1); }
   pre.PutDay(monthDay_);
+  assert(pre<=dte);
   return(pre);
 }
@@ -535,4 +551,5 @@
   }
   else { suc.PutDate(dte.Year()+1, month_, 1); }
+  assert(suc>=dte);
   return(suc);
 }
@@ -555,4 +572,5 @@
   else // (pre.Month() > month)
   { pre.PutDate(dte.Year(),month_,DteDaysInMonth(month_,dte.Year())); }
+  assert(pre<=dte);
   return(pre);
 }
@@ -585,4 +603,5 @@
     if(d.Hour()>=hour_) { d.IncDay(1); }
     d.PutHour(hour_);
+  assert(d>=dte);
     return(d);
 }
@@ -598,4 +617,5 @@
     if(d.Hour()<=hour_) { d.IncDay(-1); }
     d.PutHour(hour_);
+  assert(d<=dte);
     return(d);
 }
@@ -611,4 +631,5 @@
   BDate d = Successor(dte);
   d.IncDay(nth-1);
+  assert(d>=dte);
   return(d);
 }
@@ -624,4 +645,5 @@
   BDate d = Predecessor(dte);
   d.IncDay(1-nth);
+  assert(d<=dte);
   return(d);
 }
@@ -662,4 +684,5 @@
     if(d.Minute()>=minute_) { d.IncHour(1); }
     d.PutMinute(minute_);
+  assert(d>=dte);
     return(d);
 }
@@ -674,4 +697,5 @@
     if(d.Minute()<=minute_) { d.IncHour(-1); }
     d.PutMinute(minute_);
+  assert(d<=dte);
     return(d);
 }
@@ -687,4 +711,5 @@
   BDate d = Successor(dte);
   d.IncHour(nth-1);
+  assert(d>=dte);
   return(d);
 }
@@ -700,4 +725,5 @@
   BDate d = Predecessor(dte);
   d.IncHour(1-nth);
+  assert(d<=dte);
   return(d);
 }
@@ -738,4 +764,5 @@
     if(d.Second()>=second_) { d.IncMinute(1); }
     d.PutSecond(second_);
+  assert(d>=dte);
     return(d);
 }
@@ -750,4 +777,5 @@
     if(d.Second()<=second_) { d.IncMinute(-1); }
     d.PutSecond(second_);
+  assert(d<=dte);
     return(d);
 }
@@ -763,4 +791,5 @@
   BDate d = Successor(dte);
   d.IncMinute(nth-1);
+  assert(d>=dte);
   return(d);
 }
@@ -776,4 +805,5 @@
   BDate d = Predecessor(dte);
   d.IncMinute(1-nth);
+  assert(d<=dte);
   return(d);
 }
