# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test;
BEGIN { plan tests => 16 };
use Statistics::Descriptive::Discrete;
#1: did the module import ok?
ok(1); # If we made it this far, we're ok.
#2: can we create a new object?
my $stats = Statistics::Descriptive::Discrete->new;
ok($stats);
#now add some data and compute the statistics
$stats->add_data(1,2,3,4,5,4,3,2,1,2);
#3:
ok($stats->count,10);
#4: min
ok($stats->min,1);
#5: max
ok($stats->max,5);
#6: uniq
ok($stats->uniq,5);
#7: mean
ok($stats->mean,2.7);
#8: sample_range
ok($stats->sample_range,4);
#9: mode
ok($stats->mode,2);
#10: median
ok($stats->median,2.5);
#11: standard_deviation
ok(abs($stats->standard_deviation-1.33749350984926) < 0.00001);
#12: variance
ok(abs($stats->variance-1.78888888888) < 0.00001);
#13: variance for small values
$stats = Statistics::Descriptive::Discrete->new;
my @data;
for ($i=0;$i<45;$i++)
{
push @data,0.01113;
}
$stats->add_data(@data);
ok($stats->variance > 0);
#14 add_data_tuple
$stats = Statistics::Descriptive::Discrete->new;
$stats->add_data_tuple(2,2);
$stats->add_data_tuple(3,3,4,4);
ok($stats->uniq,3);
#15
ok($stats->sum,29);
#16 more add_data_tuple
ok($stats->count,9);
#TODO:
#14: frequency_distribution
#even/odd data sets for median
syntax highlighted by Code2HTML, v. 0.9.1