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");
11our $obj2 = $obj1->new_date();
12
13sub test {
14   my(@test)=@_;
15
16   my $err = $obj1->parse(shift(@test));
17   return $$obj1{"err"}  if ($err);
18   $err = $obj2->parse(shift(@test));
19   return $$obj2{"err"}  if ($err);
20   push(@test,"bapprox");
21
22   my $obj3 = $obj1->calc($obj2,@test);
23   return   if (! defined $obj3);
24   my $ret = $obj3->value();
25   return $ret;
26}
27
28my $tests="
29
30'Jan 1 1999'                'Jun 4 1999'                  =>  0:5:0:3:0:0:0
31
32'Jan 1 1999'                'Jun 4 1999'               1  =>  0:-5:0:3:0:0:0
33
34'Jan 1 1999'                'Jun 4 1999'               2  =>  0:-5:0:1:0:0:0
35
36'Jun 4 1999'                'Jan 1 1999'                  =>  0:-5:0:1:0:0:0
37
38'Jan 3 1998'                'Jun 8 1999'                  =>  1:5:0:3:0:0:0
39
40'Wed Jan 10 1996 noon'      'Wed Feb  7 1996 noon'        =>  0:1:0:-2:5:0:0
41
42'Wed Jan 10 1996 noon'      'Wed Jan  7 1998 noon'        =>  2:0:0:-2:5:0:0
43
44'Wed Jan  7 1998 noon'      'Wed Jan 10 1996 noon'        =>  -2:0:0:+2:4:0:0
45
46'Wed Jan 10 1996 noon'      'Wed Jan  8 1997 noon'        =>  1:0:0:-2:0:0:0
47
48'Wed Jan  8 1997 noon'      'Wed Jan 10 1996 noon'        =>  -1:0:0:+2:0:0:0
49
50'Wed May  8 1996 noon'      'Wed Apr  9 1997 noon'        =>  0:11:0:1:0:0:0
51
52'Wed Apr  9 1997 noon'      'Wed May  8 1996 noon'        =>  0:-11:0:1:0:0:0
53
54'Wed Apr 10 1996 noon'      'Wed May 14 1997 noon'        =>  1:1:0:2:4:0:0
55
56'Wed May 14 1997 noon'      'Wed Apr 10 1996 noon'        =>  -1:1:0:2:5:0:0
57
58'Mon Jan  8 1996 noon'      'Fri Feb  9 1996 noon'        =>  0:1:0:1:0:0:0
59
60'Fri Feb  9 1996 noon'      'Mon Jan  8 1996 noon'        =>  0:-1:0:1:0:0:0
61
62'Tue Jan  9 1996 12:00:00'  'Fri Jan 10 1997 10:30:30'    =>  1:0:0:0:7:30:30
63
64'Fri Jan 10 1997 10:30:30'  'Tue Jan  9 1996 12:00:00'    =>  -1:0:0:0:7:30:30
65
662012-01-10-12:00:00         2012-01-25-12:00:00           =>  0:0:2:1:0:0:0
67
682012-01-10-12:00:00         2012-01-25-13:00:00           =>  0:0:2:1:1:0:0
69
702012-01-10-12:00:00         2012-01-25-11:00:00           =>  0:0:2:0:8:0:0
71
72";
73
74$::ti->tests(func  => \&test,
75             tests => $tests);
76$::ti->done_testing();
77
78#Local Variables:
79#mode: cperl
80#indent-tabs-mode: nil
81#cperl-indent-level: 3
82#cperl-continued-statement-offset: 2
83#cperl-continued-brace-offset: 0
84#cperl-brace-offset: 0
85#cperl-brace-imaginary-offset: 0
86#cperl-label-offset: 0
87#End:
88