File: 02-base10.t

package info (click to toggle)
libformat-human-bytes-perl 0.06-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 184 kB
  • sloc: perl: 2,048; makefile: 2
file content (46 lines) | stat: -rw-r--r-- 1,575 bytes parent folder | download | duplicates (4)
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
45
46
#!perl -T

use Test::More;
use Format::Human::Bytes;

my %Checks = (
    ''              => ['0','0.0','0.00'],
    0               => ['0','0.0','0.00'],
    1               => ['1B','1.0B','1.00B'],
    2048            => ['2048B','2048.0B'],
    123456          => ['123kB','123.5kB','123.46kB'],
    65536           => ['66kB','65.5kB','65.54kB'],
    131072          => ['131kB','131.1kB'],
    900000          => ['900kB','900.0kB','900.00kB','900.000kB'],
    900000000       => ['900MB','900.0MB','900.00MB','900.000MB'],
    900000000000    => ['900GB','900.0GB','900.00GB','900.000GB','900.0000GB'],
    900000000000000 => ['900TB','900.0TB','900.00TB','900.000TB','900.0000TB'],
);

my $Count;
for (values(%Checks)) { $Count += scalar(@{$_}); }
plan tests => 1 + (3 * $Count);

my $fhb = Format::Human::Bytes->new();
ok( defined($fhb), 'Create object' );

# Function tests
for my $Num ( sort( keys(%Checks) ) ) {
    for my $Dec ( 0 .. $#{ $Checks{$Num} } ) {
        is(
            Format::Human::Bytes::base10( $Num, $Dec ),
            $Checks{$Num}->[$Dec],
            'Function, ' . $Dec . ' decimals: ' . $Num . ' = ' . $Checks{$Num}->[$Dec]
        );
        is(
            Format::Human::Bytes->base10( $Num, $Dec ),
            $Checks{$Num}->[$Dec],
            'Class method, ' . $Dec . ' decimals: ' . $Num . ' = ' . $Checks{$Num}->[$Dec]
        );
        is(
            $fhb->base10( $Num, $Dec ),
            $Checks{$Num}->[$Dec],
            'Object method, ' . $Dec . ' decimals: ' . $Num . ' = ' . $Checks{$Num}->[$Dec]
        );
    }
}