Index: /trunk/psLib/test/astronomy/Makefile
===================================================================
--- /trunk/psLib/test/astronomy/Makefile	(revision 1272)
+++ /trunk/psLib/test/astronomy/Makefile	(revision 1273)
@@ -3,6 +3,6 @@
 ##  Makefile:   test/astronomy
 ##
-##  $Revision: 1.1 $  $Name: not supported by cvs2svn $
-##  $Date: 2004-07-15 19:00:29 $
+##  $Revision: 1.2 $  $Name: not supported by cvs2svn $
+##  $Date: 2004-07-22 21:26:59 $
 ##
 ##  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -20,5 +20,6 @@
 PSLIB_LIB_DIR = ../../lib
 
-TARGET = tst_psTime_01
+TARGET = tst_psTime_01 \
+         tst_psTime_02
 
 DEPENDENCIES = $(addprefix builddir/,$(addsuffix .d,$(TARGET)))
Index: /trunk/psLib/test/astronomy/tst_psTime_02.c
===================================================================
--- /trunk/psLib/test/astronomy/tst_psTime_02.c	(revision 1273)
+++ /trunk/psLib/test/astronomy/tst_psTime_02.c	(revision 1273)
@@ -0,0 +1,122 @@
+/** @file  tst_psTime_02.c
+ *
+ *  @brief Test driver for psTime functions
+ *
+ *  This test driver contains the following tests for psTime:
+ *     A) Attempt to use negative seconds
+ *     B) Attempt to use negative microseconds
+ *     C) Attempt to use negative time
+ *     D) Incorrect ISO time data
+ *     E) Attempt to use null timeval
+ *     F) Incorrect timeval time data
+ *
+ *  @author  Ross Harman, MHPCC
+ *
+ *  @version $Revision: 1.1 $  $Name: not supported by cvs2svn $
+ *  @date  $Date: 2004-07-22 21:26:59 $
+ *
+ *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+ *
+ */
+
+#include "pslib.h"
+#include "psTest.h"
+
+int main(int argc, char* argv[])
+{
+    psTime testTime;
+    struct timeval timevalTime;
+
+
+    // Test A - Attempt to use negative seconds
+    testTime.tv_sec = -1;
+    testTime.tv_usec = 1;
+    timevalTime.tv_sec = -1;
+    timevalTime.tv_usec = 1;
+    printNegativeTestHeader(stdout,"psTime", "Attempt to use negative seconds",
+                            "Negative seconds are not allowed: -1", 0);
+    psTimeToISO(testTime);
+    psTimeToUTC(testTime);
+    psUTCToTime(testTime);
+    psTimeToMJD(testTime);
+    psTimeToJD(testTime);
+    psTimeToTimeval(testTime);
+    psTimevalToTime(&timevalTime);
+    psTimeToTM(testTime);
+    printFooter(stdout, "psTime", "Attempt to use negative seconds", true);
+
+
+    // Test B - Attempt to use negative microseconds
+    testTime.tv_sec = 1;
+    testTime.tv_usec = -1;
+    timevalTime.tv_sec = 1;
+    timevalTime.tv_usec = -1;
+    printNegativeTestHeader(stdout,"psTime", "Attempt to use negative microseconds",
+                            "Negative microseconds are not allowed: -1", 0);
+    psTimeToISO(testTime);
+    psTimeToUTC(testTime);
+    psUTCToTime(testTime);
+    psTimeToMJD(testTime);
+    psTimeToJD(testTime);
+    psTimeToTimeval(testTime);
+    psTimevalToTime(&timevalTime);
+    psTimeToTM(testTime);
+    printFooter(stdout, "psTime", "Attempt to use negative microseconds", true);
+
+
+    // Test C - Attempt to use negative time
+    printNegativeTestHeader(stdout,"psTime", "Attempt to use negative time",
+                            "Negative time is not allowed: -1.000000", 0);
+    psJDToTime(-1.0);
+    psMJDToTime(-1.0);
+    printFooter(stdout, "psTime", "Attempt to use negative time", true);
+
+
+    // Test D - Incorrect ISO time data
+    printNegativeTestHeader(stdout,"psTime", "Incorrect ISO time data", "Time not allowed", 0);
+    psISOToTime("1800/2/2,12:12:12.122");
+    psISOToTime("2004/-2/2,12:12:12.122");
+    psISOToTime("2004/2/-2,12:12:12.122");
+    psISOToTime("2004/2/2,-12:12:12.122");
+    psISOToTime("2004/2/2,12:-12:12.122");
+    psISOToTime("2004/2/2,12:12:-12.122");
+    psISOToTime("2004/2/2,12:12:12.-122");
+    printFooter(stdout, "psTime", "Incorrect ISO time data", true);
+
+
+    // Test E - Attempt to use null timeval
+    printNegativeTestHeader(stdout,"psTime", "Attempt to use null timeval",
+                            "Null value for timeval arg not allowed", 0);
+    psTimevalToTime(NULL);
+    printFooter(stdout, "psTime", "Attempt to use null timeval", true);
+
+
+    // Test F - Incorrect timeval time data
+    printNegativeTestHeader(stdout,"psTime", "Incorrect timeval time data", "Time not allowed", 0);
+    struct tm tmTime;
+    tmTime.tm_year = -2;
+    tmTime.tm_mon  = 2;
+    tmTime.tm_mday = 2;
+    tmTime.tm_hour = 2;
+    tmTime.tm_min  = 2;
+    tmTime.tm_sec  = 2;
+    psTMToTime(&tmTime);
+    tmTime.tm_year = 100;
+    tmTime.tm_mon  = -2;
+    psTMToTime(&tmTime);
+    tmTime.tm_mon  = 2;
+    tmTime.tm_mday = -2;
+    psTMToTime(&tmTime);
+    tmTime.tm_hour = -2;
+    tmTime.tm_mday = 2;
+    psTMToTime(&tmTime);
+    tmTime.tm_hour = 2;
+    tmTime.tm_min = -2;
+    psTMToTime(&tmTime);
+    tmTime.tm_min = 2;
+    tmTime.tm_sec = -2;
+    psTMToTime(&tmTime);
+    printFooter(stdout, "psTime", "Incorrect timeval time data", true);
+
+    return 0;
+}
