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