1#!/usr/bin/perl 2 3use warnings; 4use strict; 5use Test::Inter; 6$::ti = new Test::Inter $0; 7require "tests.pl"; 8 9sub test { 10 return DateCalc(@_); 11} 12 13Date_Init("ForceDate=1997-03-08-12:30:00,America/New_York"); 14Date_Init("ConfigFile=Manip.cnf"); 15 16my $tests=" 17 18# Exact 19 20'Jan 1 1996 12:00:00' 'Jan 1 1996 14:30:30' => 0:0:0:0:2:30:30 21 22'Jan 1 1996 14:30:30' 'Jan 1 1996 12:00:00' => 0:0:0:0:-2:30:30 23 24'Jan 1 1996 12:00:00' 'Jan 2 1996 14:30:30' => 0:0:0:0:26:30:30 25 26'Jan 2 1996 14:30:30' 'Jan 1 1996 12:00:00' => 0:0:0:0:-26:30:30 27 28'Jan 1 1996 12:00:00' 'Jan 2 1996 10:30:30' => 0:0:0:0:22:30:30 29 30'Jan 2 1996 10:30:30' 'Jan 1 1996 12:00:00' => 0:0:0:0:-22:30:30 31 32'Jan 1 1996 12:00:00' 'Jan 2 1997 10:30:30' => 0:0:0:0:8806:30:30 33 34'Jan 2 1997 10:30:30' 'Jan 1 1996 12:00:00' => 0:0:0:0:-8806:30:30 35 36'Jan 1st 1997 00:00:01' 'Feb 1st 1997 00:00:00' => 0:0:0:0:743:59:59 37 38'Jan 1st 1997 00:00:01' 'Mar 1st 1997 00:00:00' => 0:0:0:0:1415:59:59 39 40'Jan 1st 1997 00:00:01' 'Mar 1st 1998 00:00:00' => 0:0:0:0:10175:59:59 41 42# Approximate 43 44'Wed Jan 10 1996 noon' 'Wed Jan 7 1998 noon' 1 => 2:0:0:-3:0:0:0 45 46'Wed Jan 7 1998 noon' 'Wed Jan 10 1996 noon' 1 => -2:0:0:+3:0:0:0 47 48'Wed Jan 10 1996 noon' 'Wed Jan 8 1997 noon' 1 => 1:0:0:-2:0:0:0 49 50'Wed Jan 8 1997 noon' 'Wed Jan 10 1996 noon' 1 => -1:0:0:+2:0:0:0 51 52'Wed May 8 1996 noon' 'Wed Apr 9 1997 noon' 1 => 0:11:0:1:0:0:0 53 54'Wed Apr 9 1997 noon' 'Wed May 8 1996 noon' 1 => 0:-11:0:1:0:0:0 55 56'Wed Apr 10 1996 noon' 'Wed May 14 1997 noon' 1 => 1:1:0:4:0:0:0 57 58'Wed May 14 1997 noon' 'Wed Apr 10 1996 noon' 1 => -1:1:0:4:0:0:0 59 60'Wed Jan 10 1996 noon' 'Wed Feb 7 1996 noon' 1 => 0:1:0:-3:0:0:0 61 62'Wed Feb 7 1996 noon' 'Wed Jan 10 1996 noon' 1 => 0:-1:0:+3:0:0:0 63 64'Mon Jan 8 1996 noon' 'Fri Feb 9 1996 noon' 1 => 0:1:0:1:0:0:0 65 66'Fri Feb 9 1996 noon' 'Mon Jan 8 1996 noon' 1 => 0:-1:0:1:0:0:0 67 68'Jan 1 1996 12:00:00' 'Jan 1 1996 14:30:30' 1 => 0:0:0:0:2:30:30 69 70'Jan 1 1996 14:30:30' 'Jan 1 1996 12:00:00' 1 => 0:0:0:0:-2:30:30 71 72'Jan 1 1996 12:00:00' 'Jan 2 1996 14:30:30' 1 => 0:0:0:1:2:30:30 73 74'Jan 2 1996 14:30:30' 'Jan 1 1996 12:00:00' 1 => 0:0:0:-1:2:30:30 75 76'Jan 1 1996 12:00:00' 'Jan 2 1996 10:30:30' 1 => 0:0:0:0:22:30:30 77 78'Jan 2 1996 10:30:30' 'Jan 1 1996 12:00:00' 1 => 0:0:0:0:-22:30:30 79 80'Jan 1 1996 12:00:00' 'Jan 2 1997 10:30:30' 1 => 1:0:0:0:22:30:30 81 82'Jan 2 1997 10:30:30' 'Jan 1 1996 12:00:00' 1 => -1:0:0:0:22:30:30 83 84'Jan 31 1996 12:00:00' 'Feb 28 1997 10:30:30' 1 => 1:1:0:0:-1:29:30 85 86'Feb 28 1997 10:30:30' 'Jan 31 1996 12:00:00' 1 => -1:1:0:+3:1:29:30 87 88'Jan 1st 1997 00:00:01' 'Feb 1st 1997 00:00:00' 1 => 0:1:0:0:0:0:-1 89 90'Jan 1st 1997 00:00:01' 'Mar 1st 1997 00:00:00' 1 => 0:2:0:0:0:0:-1 91 92'Jan 1st 1997 00:00:01' 'Mar 1st 1998 00:00:00' 1 => 1:2:0:0:0:0:-1 93 94# Business approximate 95 96'Jun 1 1999' 'Jun 4 1999' 2 => 0:0:0:2:0:0:0 97 98'Wed Jan 10 1996 noon' 'Wed Jan 7 1998 noon' 2 => 2:0:0:-2:5:0:0 99 100'Wed Jan 7 1998 noon' 'Wed Jan 10 1996 noon' 2 => -2:0:0:+2:4:0:0 101 102'Wed Jan 10 1996 noon' 'Wed Jan 8 1997 noon' 2 => 1:0:0:-2:0:0:0 103 104'Wed Jan 8 1997 noon' 'Wed Jan 10 1996 noon' 2 => -1:0:0:+2:0:0:0 105 106'Wed May 8 1996 noon' 'Wed Apr 9 1997 noon' 2 => 0:11:0:1:0:0:0 107 108'Wed Apr 9 1997 noon' 'Wed May 8 1996 noon' 2 => 0:-11:0:1:0:0:0 109 110'Wed Apr 10 1996 noon' 'Wed May 14 1997 noon' 2 => 1:1:0:2:4:0:0 111 112'Wed May 14 1997 noon' 'Wed Apr 10 1996 noon' 2 => -1:1:0:2:5:0:0 113 114'Wed Jan 10 1996 noon' 'Wed Feb 7 1996 noon' 2 => 0:1:0:-2:5:0:0 115 116'Wed Feb 7 1996 noon' 'Wed Jan 10 1996 noon' 2 => 0:-1:0:+2:4:0:0 117 118'Mon Jan 8 1996 noon' 'Fri Feb 9 1996 noon' 2 => 0:1:0:1:0:0:0 119 120'Fri Feb 9 1996 noon' 'Mon Jan 8 1996 noon' 2 => 0:-1:0:1:0:0:0 121 122'Tue Jan 9 1996 12:00:00' 'Tue Jan 9 1996 14:30:30' 2 => 0:0:0:0:2:30:30 123 124'Tue Jan 9 1996 14:30:30' 'Tue Jan 9 1996 12:00:00' 2 => 0:0:0:0:-2:30:30 125 126'Tue Jan 9 1996 12:00:00' 'Wed Jan 10 1996 14:30:30' 2 => 0:0:0:1:2:30:30 127 128'Wed Jan 10 1996 14:30:30' 'Tue Jan 9 1996 12:00:00' 2 => 0:0:0:-1:2:30:30 129 130'Tue Jan 9 1996 12:00:00' 'Wed Jan 10 1996 10:30:30' 2 => 0:0:0:0:7:30:30 131 132'Wed Jan 10 1996 10:30:30' 'Tue Jan 9 1996 12:00:00' 2 => 0:0:0:0:-7:30:30 133 134'Tue Jan 9 1996 12:00:00' 'Fri Jan 10 1997 10:30:30' 2 => 1:0:0:0:7:30:30 135 136'Fri Jan 10 1997 10:30:30' 'Tue Jan 9 1996 12:00:00' 2 => -1:0:0:0:7:30:30 137 138'Mon Dec 30 1996 noon' 'Mon Jan 6 1997 noon' 2 => 0:1:-3:3:0:0:0 139 140'Mon Jan 6 1997 noon' 'Mon Dec 30 1996 noon' 2 => 0:-1:+3:1:0:0:0 141 142# Business exact 143 144'Wed Jan 10 1996 noon' 'Wed Feb 7 1996 noon' 3 => 0:0:0:19:0:0:0 145 146'Wed Feb 7 1996 noon' 'Wed Jan 10 1996 noon' 3 => 0:0:0:-19:0:0:0 147 148'Tue Jan 9 1996 12:00:00' 'Tue Jan 9 1996 14:30:30' 3 => 0:0:0:0:2:30:30 149 150'Tue Jan 9 1996 14:30:30' 'Tue Jan 9 1996 12:00:00' 3 => 0:0:0:0:-2:30:30 151 152'Tue Jan 9 1996 12:00:00' 'Wed Jan 10 1996 14:30:30' 3 => 0:0:0:1:2:30:30 153 154'Wed Jan 10 1996 14:30:30' 'Tue Jan 9 1996 12:00:00' 3 => 0:0:0:-1:2:30:30 155 156'Tue Jan 9 1996 12:00:00' 'Wed Jan 10 1996 10:30:30' 3 => 0:0:0:0:7:30:30 157 158'Wed Jan 10 1996 10:30:30' 'Tue Jan 9 1996 12:00:00' 3 => 0:0:0:0:-7:30:30 159 160'Mon Dec 30 1996 noon' 'Mon Jan 6 1997 noon' 3 => 0:0:0:4:0:0:0 161 162'Mon Jan 6 1997 noon' 'Mon Dec 30 1996 noon' 3 => 0:0:0:-4:0:0:0 163 164'Fri Feb 11 2005 16:00:43' 'Fri Feb 11 2005 16:44:09' 3 => 0:0:0:0:0:43:26 165 166'02/11/2005 04:00:43 PM' '02/11/2005 04:44:09 PM' 3 => 0:0:0:0:0:43:26 167 168"; 169 170$::ti->tests(func => \&test, 171 tests => $tests); 172$::ti->done_testing(); 173 174#Local Variables: 175#mode: cperl 176#indent-tabs-mode: nil 177#cperl-indent-level: 3 178#cperl-continued-statement-offset: 2 179#cperl-continued-brace-offset: 0 180#cperl-brace-offset: 0 181#cperl-brace-imaginary-offset: 0 182#cperl-label-offset: 0 183#End: 184