Index: trunk/psLib/test/astro/tst_psTime_04.c
===================================================================
--- trunk/psLib/test/astro/tst_psTime_04.c	(revision 6030)
+++ trunk/psLib/test/astro/tst_psTime_04.c	(revision 6036)
@@ -11,10 +11,13 @@
  *      Test F - Attempt to read data file with typo in number
  *      Test G - Free data
+ *      Test H - Attempt to use all timer functions
+ *      Test I - Tidal Corrections to UT1-UTC
  *
  *  @author  Ross Harman, MHPCC
  *  @author  Eric Van Alst, MHPCC
+ *  @author  David Robbins, MHPCC
  *
- *  @version $Revision: 1.4 $  $Name: not supported by cvs2svn $
- *  @date  $Date: 2005-10-01 02:22:20 $
+ *  @version $Revision: 1.5 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2006-01-18 20:59:32 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -33,4 +36,5 @@
 static psS32 testTimeInit6(void);
 static psS32 testTimer1(void);
+static psS32 testTideUT1Corr(void);
 
 testDescription tests[] = {
@@ -42,4 +46,5 @@
                               {testTimeInit6,-6,"p_psTimeInit",0,false},
                               {testTimer1,-7,"psTimer",0,false},
+                              {testTideUT1Corr,-8,"psTime_TideUT1Corr",0,false},
                               {NULL}
                           };
@@ -136,2 +141,36 @@
 }
 
+psS32 testTideUT1Corr(void)
+{
+    psTime *empty = NULL;
+    psTime *tide = NULL;
+    psTime *noTide = psTimeAlloc(PS_TIME_UTC);
+    noTide->sec = 1049160600;
+    noTide->nsec = 0;
+    noTide->leapsecond = false;
+
+    empty = psTime_TideUT1Corr(tide);
+    if (empty != NULL) {
+        psError(PS_ERR_BAD_PARAMETER_NULL, false,
+                "psTime_TideUT1Corr failed to return NULL for NULL input time.\n");
+        return 1;
+    }
+
+    empty = psTime_TideUT1Corr(noTide);
+    if (empty->sec != 1049160599 || empty->nsec != 656982272) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, false,
+                "psTime_TideUT1Corr failed to return correct values.\n");
+        printf("\nsec = %ld, nsec = %u\n", empty->sec, empty->nsec);
+        return 2;
+    }
+
+    if (!p_psTimeFinalize()) {
+        return 3;
+    }
+
+    psFree(empty);
+    psFree(noTide);
+
+    return 0;
+}
+
