use strict; use warnings; use Test::More tests => 11; my $min = 1; my $price = 10; sub total { my $wt = $_[0]; my $Total = ($wt < -$min) ? $price * $wt : ($wt < 0 ) ? $price * (-$min) : ($wt < $min ) ? $price * $min : $price * $wt ; return $Total; } sub refrence { my $wt = $_[0]; my $nwt = abs($wt); $nwt = $min if $nwt<$min; my $total = $nwt*$price; $total = -$total if $wt<0; return $total; } for (0..10) { my $trial_wt = .3 * ($_ -5); is( total($trial_wt), refrence($trial_wt), "Weight: $trial_wt"); } #### 1..11 ok 1 - Weight: -1.5 ok 2 - Weight: -1.2 ok 3 - Weight: -0.9 ok 4 - Weight: -0.6 ok 5 - Weight: -0.3 ok 6 - Weight: 0 ok 7 - Weight: 0.3 ok 8 - Weight: 0.6 ok 9 - Weight: 0.9 ok 10 - Weight: 1.2 ok 11 - Weight: 1.5