1#!/usr/bin/perl
2
3use warnings;
4use strict;
5use Test::Inter;
6$::ti = new Test::Inter $0;
7require "tests.pl";
8
9our $dmt = new Date::Manip::TZ;
10our $obj = $dmt->base();
11$dmt->config("forcedate","now,America/New_York");
12
13sub test {
14   my(@test)=@_;
15   my @ret = $obj->join(@test);
16   return @ret;
17}
18
19my $tests="
20
21date [ 1996 1 1 12 0 0 ] => 1996010112:00:00
22
23############
24
25offset [ 10 0 0 ]    => +10:00:00
26
27offset [ 10 0 ]      => +10:00:00
28
29offset [ 10 ]        => +10:00:00
30
31offset [ 10 70 ]     => __undef__
32
33offset [ 10 -30 ]    => __undef__
34
35offset [ 1 2 3 4 ]   => __undef__
36
37offset [ -10 -20 0 ] => -10:20:00
38
39############
40
41hms [ 10 0 0 ]       => 10:00:00
42
43hms [ 10 0 ]         => 10:00:00
44
45hms [ 10 ]           => 10:00:00
46
47hms [ 10 70 ]        => __undef__
48
49hms [ 1 2 3 4 ]      => __undef__
50
51hms [ -10 30 ]       => __undef__
52
53############
54
55time [ 10 -70 ]      => 0:8:50
56
57time [ 1 2 3 4 ]     => __undef__
58
59time [ 10 70 ]       => 0:11:10
60
61time [ 0 0 5 ]       => 0:0:5
62
63time [ 0 5 ]         => 0:0:5
64
65time [ 5 ]           => 0:0:5
66
67time [ 0 5 30 ]      => 0:5:30
68
69time [ 0 0 -5 ]      => 0:0:-5
70
71time [ 0 -5 -30 ]    => 0:-5:30
72
73time [ -5 -30 -45 ]  => -5:30:45
74
75time [ 0 10 70 ]                                => 0:11:10
76
77time [ 0 10 70 ] 1                              => 0:10:70
78
79time [ 0 10 70 ] { nonorm 1 }                   => 0:10:70
80
81############
82
83delta [ 0 0 0 0 0 0 10 ]                        => 0:0:0:0:0:0:10
84
85delta [ 0 0 0 0 10 ]                            => 0:0:0:0:0:0:10
86
87delta [ 0 0 10 ]                                => 0:0:0:0:0:0:10
88
89delta [ 10 ]                                    => 0:0:0:0:0:0:10
90
91delta [ 0 0 0 0 0 10 -70 ]          nonormalize => 0:0:0:0:0:10:-70
92
93delta [ 0 0 0 0 0 10 -70 ]                      => 0:0:0:0:0:8:50
94
95delta [ 0 0 0 0 0 10 70 ]                       => 0:0:0:0:0:11:10
96
97delta [ 10 -70 -130 90 ]                        => 0:0:0:6:23:51:30
98
99delta [ -1 -13 -2 -10 70 -130 -90 ]             => -2:1:3:0:4:11:30
100
101delta [ 1 13 2 10 -70 -130 90 ]                 => 2:1:2:6:23:51:30
102
103############
104
105business [ 0 0 0 0 0 0 10 ]                     => 0:0:0:0:0:0:10
106
107business [ 0 0 0 0 10 ]                         => 0:0:0:0:0:0:10
108
109business [ 0 0 10 ]                             => 0:0:0:0:0:0:10
110
111business [ 10 ]                                 => 0:0:0:0:0:0:10
112
113business [ 0 0 0 0 0 10 -70 ]                   => 0:0:0:0:0:8:50
114
115business [ 0 0 0 0 0 10 70 ]                    => 0:0:0:0:0:11:10
116
117business [ 10 -70 -130 -90 ]                    => 0:0:0:1:8:48:30
118
119business [ -1 -13 -2 -10 25 -130 -90 ]          => -2:1:3:2:4:11:30
120
121business [ 1 13 2 10 -25 -130 90 ]              => 2:1:3:1:8:51:30
122
123";
124
125$::ti->tests(func  => \&test,
126             tests => $tests);
127$::ti->done_testing();
128
129#Local Variables:
130#mode: cperl
131#indent-tabs-mode: nil
132#cperl-indent-level: 3
133#cperl-continued-statement-offset: 2
134#cperl-continued-brace-offset: 0
135#cperl-brace-offset: 0
136#cperl-brace-imaginary-offset: 0
137#cperl-label-offset: 0
138#End:
139