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(@test)=@_; 14 my $o = $obj->new_delta(); 15 my $err = $o->set(@test); 16 if ($err) { 17 return $o->err(); 18 } else { 19 my @val = $o->value(); 20 return @val; 21 } 22} 23 24my $tests=" 25 26{ delta [ 0 0 0 0 1 20 30 ] } => 0 0 0 0 1 20 30 27 28{ delta [ 0 0 0 0 1 20 30 ] nonorm 1 } => 0 0 0 0 1 20 30 29 30{ delta [ 0 0 0 0 1 20 30 ] mode business type exact } => 0 0 0 0 1 20 30 31 32{ delta [ 0 0 0 0 1 20 30 ] mode business type semi } => 0 0 0 0 1 20 30 33 34{ delta [ 0 0 0 0 1 20 30 ] mode business type approx } => 0 0 0 0 1 20 30 35 36{ delta [ 0 0 0 0 1 20 30 ] mode business type estimated } => 0 0 0 0 1 20 30 37 38{ delta [ 0 0 0 0 1 20 30 ] mode standard type exact } => 0 0 0 0 1 20 30 39 40{ delta [ 0 0 0 0 1 20 30 ] mode standard type semi } => 0 0 0 0 1 20 30 41 42{ delta [ 0 0 0 0 1 20 30 ] mode standard type approx } => 0 0 0 0 1 20 30 43 44{ delta [ 0 0 0 0 1 20 30 ] mode standard type estimated } => 0 0 0 0 1 20 30 45 46# 47 48{ delta [ 0 0 0 0 10 20 30 ] } => 0 0 0 0 10 20 30 49 50{ delta [ 0 0 0 0 10 20 30 ] nonorm 1 } => 0 0 0 0 10 20 30 51 52{ delta [ 0 0 0 0 10 20 30 ] mode business type exact } => 0 0 0 1 1 20 30 53 54{ delta [ 0 0 0 0 10 20 30 ] mode business type semi } => 0 0 0 1 1 20 30 55 56{ delta [ 0 0 0 0 10 20 30 ] mode business type approx } => 0 0 0 1 1 20 30 57 58{ delta [ 0 0 0 0 10 20 30 ] mode business type estimated } => 0 0 0 1 1 20 30 59 60{ delta [ 0 0 0 0 10 20 30 ] mode standard type exact } => 0 0 0 0 10 20 30 61 62{ delta [ 0 0 0 0 10 20 30 ] mode standard type semi } => 0 0 0 0 10 20 30 63 64{ delta [ 0 0 0 0 10 20 30 ] mode standard type approx } => 0 0 0 0 10 20 30 65 66{ delta [ 0 0 0 0 10 20 30 ] mode standard type estimated } => 0 0 0 0 10 20 30 67 68# 69 70{ delta [ 0 0 0 0 75 20 30 ] } => 0 0 0 0 75 20 30 71 72{ delta [ 0 0 0 0 75 20 30 ] nonorm 1 } => 0 0 0 0 75 20 30 73 74{ delta [ 0 0 0 0 75 20 30 ] mode business type exact } => 0 0 0 8 3 20 30 75 76{ delta [ 0 0 0 0 75 20 30 ] mode business type semi } => 0 0 1 3 3 20 30 77 78{ delta [ 0 0 0 0 75 20 30 ] mode business type approx } => 0 0 1 3 3 20 30 79 80{ delta [ 0 0 0 0 75 20 30 ] mode business type estimated } => 0 0 1 3 3 20 30 81 82{ delta [ 0 0 0 0 75 20 30 ] mode standard type exact } => 0 0 0 0 75 20 30 83 84{ delta [ 0 0 0 0 75 20 30 ] mode standard type semi } => 0 0 0 3 3 20 30 85 86{ delta [ 0 0 0 0 75 20 30 ] mode standard type approx } => 0 0 0 3 3 20 30 87 88{ delta [ 0 0 0 0 75 20 30 ] mode standard type estimated } => 0 0 0 3 3 20 30 89 90# 91 92{ delta [ 0 0 0 4 1 20 30 ] } => 0 0 0 4 1 20 30 93 94{ delta [ 0 0 0 4 1 20 30 ] nonorm 1 } => 0 0 0 4 1 20 30 95 96{ delta [ 0 0 0 4 1 20 30 ] mode business type exact } => 0 0 0 4 1 20 30 97 98{ delta [ 0 0 0 4 1 20 30 ] mode business type semi } => 0 0 0 4 1 20 30 99 100{ delta [ 0 0 0 4 1 20 30 ] mode business type approx } => 0 0 0 4 1 20 30 101 102{ delta [ 0 0 0 4 1 20 30 ] mode business type estimated } => 0 0 0 4 1 20 30 103 104{ delta [ 0 0 0 4 1 20 30 ] mode standard type exact } 105 => 106 '[set] Type must be semi/approx/estimated' 107 108{ delta [ 0 0 0 4 1 20 30 ] mode standard type semi } => 0 0 0 4 1 20 30 109 110{ delta [ 0 0 0 4 1 20 30 ] mode standard type approx } => 0 0 0 4 1 20 30 111 112{ delta [ 0 0 0 4 1 20 30 ] mode standard type estimated } => 0 0 0 4 1 20 30 113 114# 115 116{ delta [ 0 0 0 4 10 20 30 ] } => 0 0 0 4 10 20 30 117 118{ delta [ 0 0 0 4 10 20 30 ] nonorm 1 } => 0 0 0 4 10 20 30 119 120{ delta [ 0 0 0 4 10 20 30 ] mode business type exact } => 0 0 0 5 1 20 30 121 122{ delta [ 0 0 0 4 10 20 30 ] mode business type semi } => 0 0 1 0 1 20 30 123 124{ delta [ 0 0 0 4 10 20 30 ] mode business type approx } => 0 0 1 0 1 20 30 125 126{ delta [ 0 0 0 4 10 20 30 ] mode business type estimated } => 0 0 1 0 1 20 30 127 128{ delta [ 0 0 0 4 10 20 30 ] mode standard type exact } 129 => 130 '[set] Type must be semi/approx/estimated' 131 132{ delta [ 0 0 0 4 10 20 30 ] mode standard type semi } => 0 0 0 4 10 20 30 133 134{ delta [ 0 0 0 4 10 20 30 ] mode standard type approx } => 0 0 0 4 10 20 30 135 136{ delta [ 0 0 0 4 10 20 30 ] mode standard type estimated } => 0 0 0 4 10 20 30 137 138# 139 140{ delta [ 0 0 2 4 10 20 30 ] } => 0 0 2 4 10 20 30 141 142{ delta [ 0 0 2 4 10 20 30 ] nonorm 1 } => 0 0 2 4 10 20 30 143 144{ delta [ 0 0 2 4 10 20 30 ] mode business type exact } 145 => 146 '[set] Type must be semi/approx/estimated' 147 148{ delta [ 0 0 2 4 10 20 30 ] mode business type semi } => 0 0 3 0 1 20 30 149 150{ delta [ 0 0 2 4 10 20 30 ] mode business type approx } => 0 0 3 0 1 20 30 151 152{ delta [ 0 0 2 4 10 20 30 ] mode business type estimated } => 0 0 3 0 1 20 30 153 154{ delta [ 0 0 2 4 10 20 30 ] mode standard type exact } 155 => 156 '[set] Type must be semi/approx/estimated' 157 158{ delta [ 0 0 2 4 10 20 30 ] mode standard type semi } => 0 0 2 4 10 20 30 159 160{ delta [ 0 0 2 4 10 20 30 ] mode standard type approx } => 0 0 2 4 10 20 30 161 162{ delta [ 0 0 2 4 10 20 30 ] mode standard type estimated } => 0 0 2 4 10 20 30 163 164# 165 166{ delta [ 0 14 2 4 10 20 30 ] } => 1 2 2 4 10 20 30 167 168{ delta [ 0 14 2 4 10 20 30 ] nonorm 1 } => 0 14 2 4 10 20 30 169 170{ delta [ 0 14 2 4 10 20 30 ] mode business type exact } 171 => 172 '[set] Type must be approx/estimated' 173 174{ delta [ 0 14 2 4 10 20 30 ] mode business type semi } 175 => 176 '[set] Type must be approx/estimated' 177 178{ delta [ 0 14 2 4 10 20 30 ] mode business type approx } => 1 2 3 0 1 20 30 179 180{ delta [ 0 14 2 4 10 20 30 ] mode business type estimated } => 1 2 3 0 1 20 30 181 182{ delta [ 0 14 2 4 10 20 30 ] mode standard type exact } 183 => 184 '[set] Type must be approx/estimated' 185 186{ delta [ 0 14 2 4 10 20 30 ] mode standard type semi } 187 => 188 '[set] Type must be approx/estimated' 189 190{ delta [ 0 14 2 4 10 20 30 ] mode standard type approx } => 1 2 2 4 10 20 30 191 192{ delta [ 0 14 2 4 10 20 30 ] mode standard type estimated } => 1 2 2 4 10 20 30 193 194"; 195 196$::ti->tests(func => \&test, 197 tests => $tests); 198$::ti->done_testing(); 199 200#Local Variables: 201#mode: cperl 202#indent-tabs-mode: nil 203#cperl-indent-level: 3 204#cperl-continued-statement-offset: 2 205#cperl-continued-brace-offset: 0 206#cperl-brace-offset: 0 207#cperl-brace-imaginary-offset: 0 208#cperl-label-offset: 0 209#End: 210