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
|
# vim:set ts=4 sw=4 sts=4 et ai wm=0 nu:
#
#===============================================================================
# FILE: FibSum.t
# DESCRIPTION: Unit test for FibSum
#===============================================================================
use strict;
use warnings;
use v5.30;
use Test2::V0;
use FibSum qw(_fib);
is( _fib( 0), 0, "f(0)");
is( _fib( 1), 1, "f(1)");
is( _fib( 2), 1, "f(2)");
is( _fib( 3), 2, "f(3)");
is( _fib( 4), 3, "f(4)");
is( _fib(10), 55, "f(10)");
is( _fib(20), 6765, "f(20)");
is( _fib(30), 832040, "f(30)");
is( _fib(40), 102334155, "f(40)");
is( _fib(93), 12200160415121876738, "f(93)");
my $fsum = FibSum->new(6);
isa_ok($fsum, [ "FibSum" ], "Constructor");
my $fibList = $fsum->getFibList();
is( $fibList, [ 5, 3, 2, 1 ], "fibList for 6" );
is( $fsum->target(), 6, "target for 6" );
is( $fsum->run(), [ [ 5, 1], [ 3, 2, 1] ], "FibSum(6)" );
is( FibSum->new(9)->run(), [ [8, 1], [5, 3, 1] ], "FibSum(9)");
done_testing();
|