summaryrefslogtreecommitdiffstats
path: root/t/14_dfmt.t
blob: baea4286320d4ada534aa6d210c38bce2da57637 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# t/14_dfmt.t - dfmt tests
#
# Copyright (C) 2017  Patrick McDermott
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

use strict;
use warnings;

use Test::More;
use Math::Decimal::FastPP qw(dfmt);

my @tests;
my $a;
my $p;
my $r;

@tests = (
	#     a   p       r
	[ "1.23", 2,  "1.23"],
	["-1.23", 2, "-1.23"],
	[  ".23", 2,  "0.23"],
	[ "-.23", 2, "-0.23"],
	[ "1.2" , 2,  "1.20"],
	["-1.2" , 2, "-1.20"],
);

plan("tests" => scalar(@tests));

foreach (@tests) {
	($a, $p, $r) = @{$_};
	is(dfmt($a, $p), $r, sprintf("dfmt(%5.2f, %d) = %5.2f", $a, $p, $r));
}