Math-EMA

 view release on metacpan or  search on metacpan

t/001.t  view on Meta::CPAN

# -*- mode: cperl; cperl-indent-level: 2; cperl-continued-statement-offset: 2; indent-tabs-mode: nil -*-
use Test::More tests => 7;
#use Test::More qw/no_plan/;
BEGIN { use_ok('Math::EMA') };

my $avg=Math::EMA->new;

ok $avg, 'object created';
cmp_ok sprintf('%.10f', $avg->set_param(60, 0.01) ), '==', 0.9261187281,
       'set_param';
cmp_ok sprintf('%.10f', $avg->alpha ), '==', 0.9261187281, 'retrieve alpha';

cmp_ok $avg->add(12), '==', 12, 'added the 1st value';
cmp_ok $avg->ema, '==', 12, 'ema after the 1st value';

$avg->add(0) for(1..60);

printf("# value after 60 iterations: %.10f\n", $avg->ema);
cmp_ok sprintf('%.10f', $avg->ema), '==', 0.12, 'ema after 60 iterations';



( run in 1.060 second using v1.01-cache-2.11-cpan-71847e10f99 )