1#!/usr/bin/perl
2
3use warnings;
4use strict;
5use Test::Inter;
6$::ti = new Test::Inter $0;
7require "tests.pl";
8
9my $obj = new Date::Manip::Delta;
10$obj->config("forcedate","now,America/New_York");
11
12sub test {
13   my($delta,$to)=@_;
14   $obj->parse($delta);
15   $obj->convert($to);
16   my @val = $obj->value();
17   return (@val,($$obj{"data"}{"mode"} eq 'business' ? 1 : 0) );
18}
19
20my $tests="
21
22'0:0:0:0:2:30:0'                exact   => 0 0 0 0 2 30 0 0
23
24'0:0:0:0:2:30:0'                semi    => 0 0 0 0 2 30 0 0
25
26'0:0:0:0:2:30:0'                approx  => 0 0 0 0 2 30 0 0
27
28#
29
30'0:0:0:0:0:0:60'                exact   => 0 0 0 0 0 1 0 0
31
32'0:0:0:0:0:0:60'                semi    => 0 0 0 0 0 1 0 0
33
34'0:0:0:0:0:0:60'                approx  => 0 0 0 0 0 1 0 0
35
36#
37
38'0:0:0:0:0:0:3600'              exact   => 0 0 0 0 1 0 0 0
39
40'0:0:0:0:0:0:3600'              semi    => 0 0 0 0 1 0 0 0
41
42'0:0:0:0:0:0:3600'              approx  => 0 0 0 0 1 0 0 0
43
44#
45
46'0:0:0:0:0:0:86400'             exact   => 0 0 0 0 24 0 0 0
47
48'0:0:0:0:0:0:86400'             semi    => 0 0 0 1 0 0 0 0
49
50'0:0:0:0:0:0:86400'             approx  => 0 0 0 1 0 0 0 0
51
52#
53
54'0:0:0:0:0:0:604800'            exact   => 0 0 0 0 168 0 0 0
55
56'0:0:0:0:0:0:604800'            semi    => 0 0 1 0 0 0 0 0
57
58'0:0:0:0:0:0:604800'            approx  => 0 0 1 0 0 0 0 0
59
60#
61
62'0:0:0:0:0:0:31556952'          exact   => 0 0 0 0 8765 49 12 0
63
64'0:0:0:0:0:0:31556952'          semi    => 0 0 52 1 5 49 12 0
65
66'0:0:0:0:0:0:31556952'          approx  => 0 0 52 1 5 49 12 0
67
68'0:0:0:0:0:0:31556952'          estimated  => 1 0 0 0 0 0 0 0
69
70#
71
72'0:0:0:1:0:0:0'                 exact   => 0 0 0 0 24 0 0 0
73
74'0:0:0:1:0:0:0'                 semi    => 0 0 0 1 0 0 0 0
75
76'0:0:0:1:0:0:0'                 approx  => 0 0 0 1 0 0 0 0
77
78#
79
80'0:0:0:367:0:0:0'               exact   => 0 0 0 0 8808 0 0 0
81
82'0:0:0:367:0:0:0'               semi    => 0 0 52 3 0 0 0 0
83
84'0:0:0:367:0:0:0'               approx  => 0 0 52 3 0 0 0 0
85
86'0:0:0:367:0:0:0'               estimated  => 1 0 0 1 18 10 48 0
87
88#
89
90'0:1:0:0:0:0:0'                 exact   => 0 0 0 0 730 29 6 0
91
92'0:1:0:0:0:0:0'                 semi    => 0 0 4 2 10 29 6 0
93
94'0:1:0:0:0:0:0'                 approx  => 0 1 0 0 0 0 0 0
95
96#
97
98'0:0:0:0:2:30:0 business'       exact   => 0 0 0 0 2 30 0 1
99
100'0:0:0:0:2:30:0 business'       semi    => 0 0 0 0 2 30 0 1
101
102'0:0:0:0:2:30:0 business'       approx  => 0 0 0 0 2 30 0 1
103
104#
105
106'0:0:0:0:0:0:60 business'       exact   => 0 0 0 0 0 1 0 1
107
108'0:0:0:0:0:0:60 business'       semi    => 0 0 0 0 0 1 0 1
109
110'0:0:0:0:0:0:60 business'       approx  => 0 0 0 0 0 1 0 1
111
112#
113
114'0:0:0:0:0:0:3600 business'     exact   => 0 0 0 0 1 0 0 1
115
116'0:0:0:0:0:0:3600 business'     semi    => 0 0 0 0 1 0 0 1
117
118'0:0:0:0:0:0:3600 business'     approx  => 0 0 0 0 1 0 0 1
119
120#
121
122'0:0:0:0:0:0:32400 business'    exact   => 0 0 0 1 0 0 0 1
123
124'0:0:0:0:0:0:32400 business'    semi    => 0 0 0 1 0 0 0 1
125
126'0:0:0:0:0:0:32400 business'    approx  => 0 0 0 1 0 0 0 1
127
128#
129
130'0:0:0:0:0:0:162000 business'   exact   => 0 0 0 5 0 0 0 1
131
132'0:0:0:0:0:0:162000 business'   semi    => 0 0 1 0 0 0 0 1
133
134'0:0:0:0:0:0:162000 business'   approx  => 0 0 1 0 0 0 0 1
135
136#
137
138'0:0:0:0:0:0:8452755 business'  exact   => 0 0 0 260 7 59 15 1
139
140'0:0:0:0:0:0:8452755 business'  semi    => 0 0 52 0 7 59 15 1
141
142'0:0:0:0:0:0:8452755 business'  approx  => 0 0 52 0 7 59 15 1
143
144'0:0:0:0:0:0:8452755 business'  estimated  => 1 0 0 0 0 0 0 1
145
146#
147
148'0:0:0:1:0:0:0 business'        exact   => 0 0 0 1 0 0 0 1
149
150'0:0:0:1:0:0:0 business'        semi    => 0 0 0 1 0 0 0 1
151
152'0:0:0:1:0:0:0 business'        approx  => 0 0 0 1 0 0 0 1
153
154#
155
156'0:0:1:0:0:0:0 business'        exact   => 0 0 0 5 0 0 0 1
157
158'0:0:1:0:0:0:0 business'        semi    => 0 0 1 0 0 0 0 1
159
160'0:0:1:0:0:0:0 business'        approx  => 0 0 1 0 0 0 0 1
161
162#
163
164'0:0:53:0:0:0:0 business'       exact   => 0 0 0 265 0 0 0 1
165
166'0:0:53:0:0:0:0 business'       semi    => 0 0 53 0 0 0 0 1
167
168'0:0:53:0:0:0:0 business'       approx  => 0 0 53 0 0 0 0 1
169
170'0:0:53:0:0:0:0 business'       estimated  => 1 0 0 4 1 0 45 1
171
172#
173
174'0:1:0:0:0:0:0 business'        exact   => 0 0 0 21 6 39 56 1
175
176'0:1:0:0:0:0:0 business'        semi    => 0 0 4 1 6 39 56 1
177
178'0:1:0:0:0:0:0 business'        approx  => 0 1 0 0 0 0 0 1
179
180";
181
182$::ti->tests(func  => \&test,
183             tests => $tests);
184$::ti->done_testing();
185
186#Local Variables:
187#mode: cperl
188#indent-tabs-mode: nil
189#cperl-indent-level: 3
190#cperl-continued-statement-offset: 2
191#cperl-continued-brace-offset: 0
192#cperl-brace-offset: 0
193#cperl-brace-imaginary-offset: 0
194#cperl-label-offset: 0
195#End:
196