File: 01-base2.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 (45 lines) | stat: -rw-r--r-- 1,517 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
#!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'],
    65536           => ['64kB','64.0kB','64.00kB'],
    131072          => ['128kB','128.0kB'],
    900000          => ['879kB','878.9kB','878.91kB','878.906kB'],
    900000000       => ['858MB','858.3MB','858.31MB','858.307MB'],
    900000000000    => ['838GB','838.2GB','838.19GB','838.190GB','838.1903GB'],
    900000000000000 => ['819TB','818.5TB','818.55TB','818.545TB','818.5452TB'],
);

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::base2( $Num, $Dec ),
            $Checks{$Num}->[$Dec],
            'Function, ' . $Dec . ' decimals: ' . $Num . ' = ' . $Checks{$Num}->[$Dec]
        );
        is(
            Format::Human::Bytes->base2( $Num, $Dec ),
            $Checks{$Num}->[$Dec],
            'Class method, ' . $Dec . ' decimals: ' . $Num . ' = ' . $Checks{$Num}->[$Dec]
        );
        is(
            $fhb->base2( $Num, $Dec ),
            $Checks{$Num}->[$Dec],
            'Object method, ' . $Dec . ' decimals: ' . $Num . ' = ' . $Checks{$Num}->[$Dec]
        );
    }
}