Debugging datetime test

This commit is contained in:
David Puglielli 2018-03-20 13:44:47 -07:00
parent edb7bd03d3
commit af8baf1451

View file

@ -31,6 +31,19 @@ function ExecutePreparedStmt($stmt)
} }
} }
// If there is an error in comparison, output the types, the data, and die
function mismatchError($dateTimeType, $compareType, $retrieved, $expected)
{
echo "Error comparing dateTimeType = $dateTimeType against $compareType\n";
if (is_array($retrieved)) {
print_r($retrieved[$compareType]);
} else {
print_r($retrieved);
}
print_r($expected[$compareType]);
fatalError("Retrieved and expected output do not match!");
}
// Compare dates retrieved from the database with the date used for testing // Compare dates retrieved from the database with the date used for testing
// when ReturnDatesAsStrings is true. // when ReturnDatesAsStrings is true.
// $expectedDateTime is an array of date/time strings corresponding to the different SQL Server types. // $expectedDateTime is an array of date/time strings corresponding to the different SQL Server types.
@ -40,7 +53,7 @@ function CompareDateTimeString($dateTimeType, &$expectedDateTime, $retrievedDate
switch ($dateTimeType) { switch ($dateTimeType) {
case 'date': case 'date':
// Direct comparison of retrieved date and expected date // Direct comparison of retrieved date and expected date
if ($retrievedDateTime != $expectedDateTime['date'][0]) fatalError("Dates do not match!"); if ($retrievedDateTime != $expectedDateTime['date'][0]) mismatchError('date', 'date', $retrievedDateTime, $expectedDateTime);
break; break;
case 'time': case 'time':
// Compare SQL time with expected time. The expected time was input // Compare SQL time with expected time. The expected time was input
@ -50,7 +63,7 @@ function CompareDateTimeString($dateTimeType, &$expectedDateTime, $retrievedDate
if ($retrievedDateTime != $expectedDateTime['time'][1]."0" and if ($retrievedDateTime != $expectedDateTime['time'][1]."0" and
$retrievedDateTime != $expectedDateTime['time'][2]."0" and $retrievedDateTime != $expectedDateTime['time'][2]."0" and
$retrievedDateTime != $expectedDateTime['time'][3]."0" and $retrievedDateTime != $expectedDateTime['time'][3]."0" and
$retrievedDateTime != $expectedDateTime['time'][4]."0") fatalError("Times do not match!"); $retrievedDateTime != $expectedDateTime['time'][4]."0") mismatchError('time', 'time', $retrievedDateTime, $expectedDateTime);
break; break;
case 'datetime': case 'datetime':
// Compare retrieved SQL datetime with expected date/time. // Compare retrieved SQL datetime with expected date/time.
@ -60,12 +73,7 @@ function CompareDateTimeString($dateTimeType, &$expectedDateTime, $retrievedDate
if ($retrievedDateTime != $expectedDateTime['datetime'][0] and if ($retrievedDateTime != $expectedDateTime['datetime'][0] and
$retrievedDateTime != $expectedDateTime['datetime'][1] and $retrievedDateTime != $expectedDateTime['datetime'][1] and
$retrievedDateTime != $expectedDateTime['datetime'][2] and $retrievedDateTime != $expectedDateTime['datetime'][2] and
$retrievedDateTime != $expectedDateTime['datetime'][3]) $retrievedDateTime != $expectedDateTime['datetime'][3]) mismatchError('datetime', 'datetime', $retrievedDateTime, $expectedDateTime);
{
print_r($retrievedDateTime);
print_r($expectedDateTime);
fatalError("Datetimes do not match!");
}
break; break;
case 'datetime2': case 'datetime2':
// Compare retrieved SQL datetime2 with expected date/time. // Compare retrieved SQL datetime2 with expected date/time.
@ -75,7 +83,7 @@ function CompareDateTimeString($dateTimeType, &$expectedDateTime, $retrievedDate
if ($retrievedDateTime != $expectedDateTime['datetime2'][1]."0" and if ($retrievedDateTime != $expectedDateTime['datetime2'][1]."0" and
$retrievedDateTime != $expectedDateTime['datetime2'][2]."0" and $retrievedDateTime != $expectedDateTime['datetime2'][2]."0" and
$retrievedDateTime != $expectedDateTime['datetime2'][3]."0" and $retrievedDateTime != $expectedDateTime['datetime2'][3]."0" and
$retrievedDateTime != $expectedDateTime['datetime2'][4]."0") fatalError("Datetime2s do not match!"); $retrievedDateTime != $expectedDateTime['datetime2'][4]."0") mismatchError('datetime2', 'datetime2', $retrievedDateTime, $expectedDateTime);
break; break;
case 'datetimeoffset': case 'datetimeoffset':
// Compare the SQL datetimeoffset retrieved with expected // Compare the SQL datetimeoffset retrieved with expected
@ -87,12 +95,12 @@ function CompareDateTimeString($dateTimeType, &$expectedDateTime, $retrievedDate
if ($dtoffset != $expectedDateTime['datetimeoffset'][1] and if ($dtoffset != $expectedDateTime['datetimeoffset'][1] and
$dtoffset != $expectedDateTime['datetimeoffset'][2] and $dtoffset != $expectedDateTime['datetimeoffset'][2] and
$dtoffset != $expectedDateTime['datetimeoffset'][3] and $dtoffset != $expectedDateTime['datetimeoffset'][3] and
$dtoffset != $expectedDateTime['datetimeoffset'][4]) fatalError("Datetimeoffsets do not match!"); $dtoffset != $expectedDateTime['datetimeoffset'][4]) mismatchError('datetimeoffset', 'datetimeoffset', $dtoffset, $expectedDateTime);
break; break;
case 'smalldatetime': case 'smalldatetime':
// Compare retrieved SQL smalldatetime with expected date/time. // Compare retrieved SQL smalldatetime with expected date/time.
// SQL Server's smalldatetime type is accurate to seconds only. // SQL Server's smalldatetime type is accurate to seconds only.
if ($retrievedDateTime != $expectedDateTime['smalldatetime'][0]) fatalError("Smalldatetimes do not match!"); if ($retrievedDateTime != $expectedDateTime['smalldatetime'][0]) mismatchError('smalldatetime', 'smalldatetime', $retrievedDateTime, $expectedDateTime);
break; break;
} }
} }
@ -123,112 +131,109 @@ function CompareDateTimeObject($dateTimeType, &$expectedDateTime, &$retrievedDat
switch ($dateTimeType) { switch ($dateTimeType) {
case 'date': case 'date':
// Comparison of dates only. // Comparison of dates only.
if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) fatalError("Date tested, dates do not match!"); if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) mismatchError('date', 'date', $retrievedDateTime, $expectedDateTime);
if (explode(" ", $retrievedDateTime['datetime'])[0] != explode(" ", $expectedDateTime['datetime'][0])[0]) fatalError("Date tested, datetimes do not match!"); if (explode(" ", $retrievedDateTime['datetime'])[0] != explode(" ", $expectedDateTime['datetime'][0])[0]) mismatchError('date', 'datetime', $retrievedDateTime, $expectedDateTime);
if (explode(" ", $retrievedDateTime['datetime2'])[0] != explode(" ", $expectedDateTime['datetime2'][0])[0]) fatalError("Date tested, datetime2s do not match!"); if (explode(" ", $retrievedDateTime['datetime2'])[0] != explode(" ", $expectedDateTime['datetime2'][0])[0]) mismatchError('date', 'datetime2', $retrievedDateTime, $expectedDateTime);
if (explode(" ", $retrievedDateTime['datetimeoffset'])[0] != explode(" ", $expectedDateTime['datetimeoffset'][0])[0]) fatalError("Date tested, datetimeoffsets do not match!"); if (explode(" ", $retrievedDateTime['datetimeoffset'])[0] != explode(" ", $expectedDateTime['datetimeoffset'][0])[0]) mismatchError('date', 'datetimeoffset', $retrievedDateTime, $expectedDateTime);
if (explode(" ", $retrievedDateTime['smalldatetime'])[0] != explode(" ", $expectedDateTime['smalldatetime'][0])[0]) fatalError("Date tested, smalldatetimes do not match!"); if (explode(" ", $retrievedDateTime['smalldatetime'])[0] != explode(" ", $expectedDateTime['smalldatetime'][0])[0]) mismatchError('date', 'smalldatetime', $retrievedDateTime, $expectedDateTime);
break; break;
case 'time': case 'time':
if ($retrievedDateTime['time'] != $expectedDateTime['time'][1] and if ($retrievedDateTime['time'] != $expectedDateTime['time'][1] and
$retrievedDateTime['time'] != $expectedDateTime['time'][2] and $retrievedDateTime['time'] != $expectedDateTime['time'][2] and
$retrievedDateTime['time'] != $expectedDateTime['time'][3] and $retrievedDateTime['time'] != $expectedDateTime['time'][3] and
$retrievedDateTime['time'] != $expectedDateTime['time'][4]) fatalError("Time tested, times do not match!"); $retrievedDateTime['time'] != $expectedDateTime['time'][4]) mismatchError('time', 'time', $retrievedDateTime, $expectedDateTime);
if (explode(" ", $retrievedDateTime['datetime'])[1] != explode(" ", $expectedDateTime['datetime'][1])[1] and if (explode(" ", $retrievedDateTime['datetime'])[1] != explode(" ", $expectedDateTime['datetime'][1])[1] and
explode(" ", $retrievedDateTime['datetime'])[1] != explode(" ", $expectedDateTime['datetime'][2])[1] and explode(" ", $retrievedDateTime['datetime'])[1] != explode(" ", $expectedDateTime['datetime'][2])[1] and
explode(" ", $retrievedDateTime['datetime'])[1] != explode(" ", $expectedDateTime['datetime'][3])[1]) { explode(" ", $retrievedDateTime['datetime'])[1] != explode(" ", $expectedDateTime['datetime'][3])[1]) mismatchError('time', 'datetime', $retrievedDateTime, $expectedDateTime);
print_r($retrievedDateTime);
print_r($expectedDateTime);
fatalError("Time tested, datetimes do not match!");}
if (explode(" ", $retrievedDateTime['datetime2'])[1] != explode(" ", $expectedDateTime['datetime2'][1])[1] and if (explode(" ", $retrievedDateTime['datetime2'])[1] != explode(" ", $expectedDateTime['datetime2'][1])[1] and
explode(" ", $retrievedDateTime['datetime2'])[1] != explode(" ", $expectedDateTime['datetime2'][2])[1] and explode(" ", $retrievedDateTime['datetime2'])[1] != explode(" ", $expectedDateTime['datetime2'][2])[1] and
explode(" ", $retrievedDateTime['datetime2'])[1] != explode(" ", $expectedDateTime['datetime2'][3])[1] and explode(" ", $retrievedDateTime['datetime2'])[1] != explode(" ", $expectedDateTime['datetime2'][3])[1] and
explode(" ", $retrievedDateTime['datetime2'])[1] != explode(" ", $expectedDateTime['datetime2'][4])[1]) fatalError("Time tested, datetime2s do not match!"); explode(" ", $retrievedDateTime['datetime2'])[1] != explode(" ", $expectedDateTime['datetime2'][4])[1]) mismatchError('time', 'datetime2', $retrievedDateTime, $expectedDateTime);
if (explode(" ", $retrievedDateTime['datetimeoffset'])[1] != explode(" ", $expectedDateTime['datetimeoffset'][1])[1] and if (explode(" ", $retrievedDateTime['datetimeoffset'])[1] != explode(" ", $expectedDateTime['datetimeoffset'][1])[1] and
explode(" ", $retrievedDateTime['datetimeoffset'])[1] != explode(" ", $expectedDateTime['datetimeoffset'][2])[1] and explode(" ", $retrievedDateTime['datetimeoffset'])[1] != explode(" ", $expectedDateTime['datetimeoffset'][2])[1] and
explode(" ", $retrievedDateTime['datetimeoffset'])[1] != explode(" ", $expectedDateTime['datetimeoffset'][3])[1] and explode(" ", $retrievedDateTime['datetimeoffset'])[1] != explode(" ", $expectedDateTime['datetimeoffset'][3])[1] and
explode(" ", $retrievedDateTime['datetimeoffset'])[1] != explode(" ", $expectedDateTime['datetimeoffset'][4])[1]) fatalError("Time tested, datetimeoffsets do not match!"); explode(" ", $retrievedDateTime['datetimeoffset'])[1] != explode(" ", $expectedDateTime['datetimeoffset'][4])[1]) mismatchError('time', 'datetimeoffset', $retrievedDateTime, $expectedDateTime);
if (explode(" ", $retrievedDateTime['smalldatetime'])[1] != explode(" ", $expectedDateTime['smalldatetime'][0])[1]) fatalError("Time tested, smalldatetimes do not match!"); if (explode(" ", $retrievedDateTime['smalldatetime'])[1] != explode(" ", $expectedDateTime['smalldatetime'][0])[1]) mismatchError('time', 'smalldatetime', $retrievedDateTime, $expectedDateTime);
break; break;
case 'datetime': case 'datetime':
if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) fatalError("Datetime tested, dates do not match!"); if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) mismatchError('datetime', 'date', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['time'] != $expectedDateTime['time'][0] and if ($retrievedDateTime['time'] != $expectedDateTime['time'][0] and
$retrievedDateTime['time'] != $expectedDateTime['time'][1] and $retrievedDateTime['time'] != $expectedDateTime['time'][1] and
$retrievedDateTime['time'] != $expectedDateTime['time'][2] and $retrievedDateTime['time'] != $expectedDateTime['time'][2] and
$retrievedDateTime['time'] != $expectedDateTime['time'][3] and $retrievedDateTime['time'] != $expectedDateTime['time'][3] and
$retrievedDateTime['time'] != $expectedDateTime['time'][4]) fatalError("Datetime tested, times do not match!"); $retrievedDateTime['time'] != $expectedDateTime['time'][4]) mismatchError('datetime', 'time', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['datetime'] != $expectedDateTime['datetime'][0] and if ($retrievedDateTime['datetime'] != $expectedDateTime['datetime'][0] and
$retrievedDateTime['datetime'] != $expectedDateTime['datetime'][1] and $retrievedDateTime['datetime'] != $expectedDateTime['datetime'][1] and
$retrievedDateTime['datetime'] != $expectedDateTime['datetime'][2] and $retrievedDateTime['datetime'] != $expectedDateTime['datetime'][2] and
$retrievedDateTime['datetime'] != $expectedDateTime['datetime'][3]) fatalError("Datetime tested, datetimes do not match!"); $retrievedDateTime['datetime'] != $expectedDateTime['datetime'][3]) mismatchError('datetime', 'datetime', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][0] and if ($retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][0] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][1] and $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][1] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][2] and $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][2] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][3] and $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][3] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][4]) fatalError("Datetime tested, datetime2s do not match!"); $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][4]) mismatchError('datetime', 'datetime2', $retrievedDateTime, $expectedDateTime);
if ($ret_date_time != $expectedDateTime['datetimeoffset'][0] and if ($ret_date_time != $expectedDateTime['datetimeoffset'][0] and
$ret_date_time != $expectedDateTime['datetimeoffset'][1] and $ret_date_time != $expectedDateTime['datetimeoffset'][1] and
$ret_date_time != $expectedDateTime['datetimeoffset'][2] and $ret_date_time != $expectedDateTime['datetimeoffset'][2] and
$ret_date_time != $expectedDateTime['datetimeoffset'][3] and $ret_date_time != $expectedDateTime['datetimeoffset'][3] and
$ret_date_time != $expectedDateTime['datetimeoffset'][4]) fatalError("Datetime tested, datetimeoffsets do not match!"); $ret_date_time != $expectedDateTime['datetimeoffset'][4]) mismatchError('datetime', 'datetimeoffset', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['smalldatetime'] != $expectedDateTime['smalldatetime'][0]) fatalError("Datetime tested, smalldatetimes do not match!"); if ($retrievedDateTime['smalldatetime'] != $expectedDateTime['smalldatetime'][0]) mismatchError('datetime', 'smalldatetime', $retrievedDateTime, $expectedDateTime);
break; break;
case 'datetime2': case 'datetime2':
if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) fatalError("Datetime2 tested, dates do not match!"); if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) mismatchError('datetime2', 'date', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['time'] != $expectedDateTime['time'][1] and if ($retrievedDateTime['time'] != $expectedDateTime['time'][1] and
$retrievedDateTime['time'] != $expectedDateTime['time'][2] and $retrievedDateTime['time'] != $expectedDateTime['time'][2] and
$retrievedDateTime['time'] != $expectedDateTime['time'][3] and $retrievedDateTime['time'] != $expectedDateTime['time'][3] and
$retrievedDateTime['time'] != $expectedDateTime['time'][4]) fatalError("Datetime2 tested, times do not match!"); $retrievedDateTime['time'] != $expectedDateTime['time'][4]) mismatchError('datetime2', 'time', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['datetime'] != $expectedDateTime['datetime'][1] and if ($retrievedDateTime['datetime'] != $expectedDateTime['datetime'][1] and
$retrievedDateTime['datetime'] != $expectedDateTime['datetime'][2] and $retrievedDateTime['datetime'] != $expectedDateTime['datetime'][2] and
$retrievedDateTime['datetime'] != $expectedDateTime['datetime'][3]) fatalError("Datetime2 tested, datetimes do not match!"); $retrievedDateTime['datetime'] != $expectedDateTime['datetime'][3]) mismatchError('datetime2', 'datetime', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][1] and if ($retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][1] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][2] and $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][2] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][3] and $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][3] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][4]) fatalError("Datetime2 tested, datetime2s do not match!"); $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][4]) mismatchError('datetime2', 'datetime2', $retrievedDateTime, $expectedDateTime);
if ($ret_date_time != $expectedDateTime['datetimeoffset'][1] and if ($ret_date_time != $expectedDateTime['datetimeoffset'][1] and
$ret_date_time != $expectedDateTime['datetimeoffset'][2] and $ret_date_time != $expectedDateTime['datetimeoffset'][2] and
$ret_date_time != $expectedDateTime['datetimeoffset'][3] and $ret_date_time != $expectedDateTime['datetimeoffset'][3] and
$ret_date_time != $expectedDateTime['datetimeoffset'][4]) fatalError("Datetime2 tested, datetimeoffsets do not match!"); $ret_date_time != $expectedDateTime['datetimeoffset'][4]) mismatchError('datetime2', 'datetimeoffset', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['smalldatetime'] != $expectedDateTime['smalldatetime'][0]) fatalError("Datetime2 tested, smalldatetimes do not match!"); if ($retrievedDateTime['smalldatetime'] != $expectedDateTime['smalldatetime'][0]) mismatchError('datetime2', 'smalldatetime', $retrievedDateTime, $expectedDateTime);
break; break;
case 'datetimeoffset': case 'datetimeoffset':
if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) fatalError("Datetimeoffset tested, dates do not match!"); if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) mismatchError('datetimeoffset', 'date', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['time'] != $expectedDateTime['time'][1] and if ($retrievedDateTime['time'] != $expectedDateTime['time'][1] and
$retrievedDateTime['time'] != $expectedDateTime['time'][2] and $retrievedDateTime['time'] != $expectedDateTime['time'][2] and
$retrievedDateTime['time'] != $expectedDateTime['time'][3] and $retrievedDateTime['time'] != $expectedDateTime['time'][3] and
$retrievedDateTime['time'] != $expectedDateTime['time'][4]) fatalError("Datetimeoffset tested, times do not match!"); $retrievedDateTime['time'] != $expectedDateTime['time'][4]) mismatchError('datetimeoffset', 'time', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['datetime'] != $expectedDateTime['datetime'][1] and if ($retrievedDateTime['datetime'] != $expectedDateTime['datetime'][1] and
$retrievedDateTime['datetime'] != $expectedDateTime['datetime'][2] and $retrievedDateTime['datetime'] != $expectedDateTime['datetime'][2] and
$retrievedDateTime['datetime'] != $expectedDateTime['datetime'][3]) fatalError("Datetimeoffset tested, datetimes do not match!"); $retrievedDateTime['datetime'] != $expectedDateTime['datetime'][3]) mismatchError('datetimeoffset', 'datetime', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][1] and if ($retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][1] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][2] and $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][2] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][3] and $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][3] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][4]) fatalError("Datetimeoffset tested, datetime2s do not match!"); $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][4]) mismatchError('datetimeoffset', 'datetime2', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['datetimeoffset'] != $expectedDateTime['datetimeoffset'][1] and if ($retrievedDateTime['datetimeoffset'] != $expectedDateTime['datetimeoffset'][1] and
$retrievedDateTime['datetimeoffset'] != $expectedDateTime['datetimeoffset'][2] and $retrievedDateTime['datetimeoffset'] != $expectedDateTime['datetimeoffset'][2] and
$retrievedDateTime['datetimeoffset'] != $expectedDateTime['datetimeoffset'][3] and $retrievedDateTime['datetimeoffset'] != $expectedDateTime['datetimeoffset'][3] and
$retrievedDateTime['datetimeoffset'] != $expectedDateTime['datetimeoffset'][4]) fatalError("Datetimeoffset tested, datetimeoffsets do not match!"); $retrievedDateTime['datetimeoffset'] != $expectedDateTime['datetimeoffset'][4]) mismatchError('datetimeoffset', 'datetimeoffset', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['smalldatetime'] != $expectedDateTime['smalldatetime'][0]) fatalError("Datetimeoffset tested, smalldatetimes do not match!"); if ($retrievedDateTime['smalldatetime'] != $expectedDateTime['smalldatetime'][0]) mismatchError('datetimeoffset', 'smalldatetime', $retrievedDateTime, $expectedDateTime);
break; break;
case 'smalldatetime': case 'smalldatetime':
if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) fatalError("Smalldatetime tested, dates do not match!"); if ($retrievedDateTime['date'] != $expectedDateTime['date'][0]) mismatchError('smalldatetime', 'date', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['time'] != $expectedDateTime['time'][1] and if ($retrievedDateTime['time'] != $expectedDateTime['time'][1] and
$retrievedDateTime['time'] != $expectedDateTime['time'][2] and $retrievedDateTime['time'] != $expectedDateTime['time'][2] and
$retrievedDateTime['time'] != $expectedDateTime['time'][3] and $retrievedDateTime['time'] != $expectedDateTime['time'][3] and
$retrievedDateTime['time'] != $expectedDateTime['time'][4]) fatalError("Smalldatetime tested, times do not match!"); $retrievedDateTime['time'] != $expectedDateTime['time'][4]) mismatchError('smalldatetime', 'time', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['datetime'] != $expectedDateTime['datetime'][1] and if ($retrievedDateTime['datetime'] != $expectedDateTime['datetime'][1] and
$retrievedDateTime['datetime'] != $expectedDateTime['datetime'][2] and $retrievedDateTime['datetime'] != $expectedDateTime['datetime'][2] and
$retrievedDateTime['datetime'] != $expectedDateTime['datetime'][3]) fatalError("Smalldatetime tested, datetimes do not match!"); $retrievedDateTime['datetime'] != $expectedDateTime['datetime'][3]) mismatchError('smalldatetime', 'datetime', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][1] and if ($retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][1] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][2] and $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][2] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][3] and $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][3] and
$retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][4]) fatalError("Smalldatetime tested, datetime2s do not match!"); $retrievedDateTime['datetime2'] != $expectedDateTime['datetime2'][4]) mismatchError('smalldatetime', 'datetime2', $retrievedDateTime, $expectedDateTime);
if ($ret_date_time != $expectedDateTime['datetimeoffset'][1] and if ($ret_date_time != $expectedDateTime['datetimeoffset'][1] and
$ret_date_time != $expectedDateTime['datetimeoffset'][2] and $ret_date_time != $expectedDateTime['datetimeoffset'][2] and
$ret_date_time != $expectedDateTime['datetimeoffset'][3] and $ret_date_time != $expectedDateTime['datetimeoffset'][3] and
$ret_date_time != $expectedDateTime['datetimeoffset'][4]) fatalError("Smalldatetime tested, datetimeoffsets do not match!"); $ret_date_time != $expectedDateTime['datetimeoffset'][4]) mismatchError('smalldatetime', 'datetimeoffset', $retrievedDateTime, $expectedDateTime);
if ($retrievedDateTime['smalldatetime'] != $expectedDateTime['smalldatetime'][0]) fatalError("Smalldatetime tested, smalldatetimes do not match!"); if ($retrievedDateTime['smalldatetime'] != $expectedDateTime['smalldatetime'][0]) mismatchError('smalldatetime', 'smalldatetime', $retrievedDateTime, $expectedDateTime);
break; break;
} }
} }
@ -282,6 +287,7 @@ function FetchDatesAndOrTimes($conn, $dateTimeType, &$expectedDateTime, $returnD
} }
CompareDateTimeString($dateTimeType, $expectedDateTime, $datetime); CompareDateTimeString($dateTimeType, $expectedDateTime, $datetime);
if ($dateTimeType == 'time') echo "id = $idnum dt = $datetime\n";
} }
// retrieve date time fields as DateTime objects // retrieve date time fields as DateTime objects
@ -313,6 +319,7 @@ function FetchDatesAndOrTimes($conn, $dateTimeType, &$expectedDateTime, $returnD
); );
CompareDateTimeObject($dateTimeType, $expectedDateTime, $datetimeArray); CompareDateTimeObject($dateTimeType, $expectedDateTime, $datetimeArray);
if ($dateTimeType == 'time') {echo "id = $idnum dt = ";print_r($datetime);}
} }
// retrieve date time fields without explicitly requesting the type // retrieve date time fields without explicitly requesting the type