1#!/usr/bin/perl
2
3use warnings;
4use strict;
5use Test::Inter;
6$::ti = new Test::Inter $0;
7require "tests.pl";
8
9our $obj1 = new Date::Manip::Date;
10$obj1->config("forcedate","now,America/New_York");
11$obj1->config("ConfigFile","Manip.cnf");
12our $obj2 = $obj1->new_date();
13
14sub test {
15   my(@test)=@_;
16
17   my $err = $obj1->parse(shift(@test));
18   return $$obj1{"err"}  if ($err);
19   $err = $obj2->parse(shift(@test));
20   return $$obj2{"err"}  if ($err);
21   push(@test,"bsemi");
22
23   my $obj3 = $obj1->calc($obj2,@test);
24   return   if (! defined $obj3);
25   my $ret = $obj3->value();
26   return $ret;
27}
28
29my $tests="
30
31'Jun 1 1999'                'Jun 4 1999'                  =>  0:0:0:2:0:0:0
32
33'Jun 1 1999'                'Jun 4 1999'               1  =>  0:0:0:-2:0:0:0
34
35'Jun 4 1999'                'Jun 1 1999'                  =>  0:0:0:-2:0:0:0
36
37'Jun 3 1999'                'Jun 8 1999'                  =>  0:0:0:3:0:0:0
38
39'Jun 3 1999'                'Jun 8 1999'               1  =>  0:0:0:-3:0:0:0
40
41'Jun 8 1999'                'Jun 3 1999'                  =>  0:0:0:-3:0:0:0
42
43'Wed Jan 10 1996 noon'      'Wed Feb  7 1996 noon'        =>  0:0:4:0:0:0:0
44
45'Wed Jan 10 1996 noon'      'Wed Feb  7 1996 noon'     1  =>  0:0:-4:0:0:0:0
46
47'Wed Feb  7 1996 noon'      'Wed Jan 10 1996 noon'        =>  0:0:-4:0:0:0:0
48
49'Tue Jan  9 1996 12:00:00'  'Tue Jan  9 1996 14:30:30'     =>  0:0:0:0:2:30:30
50
51'Tue Jan  9 1996 12:00:00'  'Tue Jan  9 1996 14:30:30' 1  =>  0:0:0:0:-2:30:30
52
53'Tue Jan  9 1996 14:30:30'  'Tue Jan  9 1996 12:00:00'    =>  0:0:0:0:-2:30:30
54
55'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 14:30:30'    =>  0:0:0:1:2:30:30
56
57'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 14:30:30' 1  =>  0:0:0:-1:2:30:30
58
59'Wed Jan 10 1996 14:30:30'  'Tue Jan  9 1996 12:00:00'    =>  0:0:0:-1:2:30:30
60
61'Mon Dec 30 1996 noon'      'Mon Jan  6 1997 noon'        =>  0:0:1:0:0:0:0
62
63'Mon Dec 30 1996 noon'      'Mon Jan  6 1997 noon'     1  =>  0:0:-1:0:0:0:0
64
65'Mon Jan  6 1997 noon'      'Mon Dec 30 1996 noon'        =>  0:0:-1:0:0:0:0
66
67'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 10:30:30'    =>  0:0:0:0:7:30:30
68
69'Tue Jan  9 1996 12:00:00'  'Wed Jan 10 1996 10:30:30' 1  =>  0:0:0:0:-7:30:30
70
71'Wed Jan 10 1996 10:30:30'  'Tue Jan  9 1996 12:00:00'    =>  0:0:0:0:-7:30:30
72
73'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 05:00:00'    =>  0:0:0:0:0:0:0
74
75'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 05:00:00' 1  =>  0:0:0:0:0:0:0
76
77'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 10:00:00'    =>  0:0:0:0:2:0:0
78
79'Wed Jan 10 1996 05:00:00'  'Wed Jan 10 1996 20:00:00'    =>  0:0:0:1:0:0:0
80
81'Wed Jan 10 1996 05:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:2:0:0:0
82
83'Wed Jan 10 1996 05:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:2:2:0:0
84
85'Wed Jan 10 1996 05:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:3:0:0:0
86
87'Wed Jan 10 1996 05:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:3:0:0:0
88
89'Wed Jan 10 1996 10:00:00'  'Wed Jan 10 1996 10:00:00'    =>  0:0:0:0:0:0:0
90
91'Wed Jan 10 1996 10:00:00'  'Wed Jan 10 1996 20:00:00'    =>  0:0:0:0:7:0:0
92
93'Wed Jan 10 1996 10:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:1:7:0:0
94
95'Wed Jan 10 1996 10:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:2:0:0:0
96
97'Wed Jan 10 1996 10:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:2:7:0:0
98
99'Wed Jan 10 1996 10:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:2:7:0:0
100
101'Wed Jan 10 1996 20:00:00'  'Wed Jan 10 1996 20:00:00'    =>  0:0:0:0:0:0:0
102
103'Wed Jan 10 1996 20:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:1:0:0:0
104
105'Wed Jan 10 1996 20:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:1:2:0:0
106
107'Wed Jan 10 1996 20:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:2:0:0:0
108
109'Wed Jan 10 1996 20:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:2:0:0:0
110
111'Fri Jan 12 1996 05:00:00'  'Fri Jan 12 1996 05:00:00'    =>  0:0:0:0:0:0:0
112
113'Fri Jan 12 1996 05:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:0:2:0:0
114
115'Fri Jan 12 1996 05:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:1:0:0:0
116
117'Fri Jan 12 1996 05:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:1:0:0:0
118
119'Fri Jan 12 1996 10:00:00'  'Fri Jan 12 1996 10:00:00'    =>  0:0:0:0:0:0:0
120
121'Fri Jan 12 1996 10:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:0:7:0:0
122
123'Fri Jan 12 1996 10:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:0:7:0:0
124
125'Fri Jan 12 1996 20:00:00'  'Fri Jan 12 1996 20:00:00'    =>  0:0:0:0:0:0:0
126
127'Fri Jan 12 1996 20:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:0:0:0:0
128
129'Sat Jan 13 1996 12:00:00'  'Sat Jan 13 1996 12:00:00'    =>  0:0:0:0:0:0:0
130
131";
132
133$::ti->tests(func  => \&test,
134             tests => $tests);
135$::ti->done_testing();
136
137#Local Variables:
138#mode: cperl
139#indent-tabs-mode: nil
140#cperl-indent-level: 3
141#cperl-continued-statement-offset: 2
142#cperl-continued-brace-offset: 0
143#cperl-brace-offset: 0
144#cperl-brace-imaginary-offset: 0
145#cperl-label-offset: 0
146#End:
147