use strict; use Test; use Statistics::Basic qw(:all ignore_env); plan tests => 12; my $i = Statistics::Basic::Vector->new([ 1 .. 30 ]); my $j = Statistics::Basic::ComputedVector->new( $i ); $j->set_filter(sub { grep {$_<= 3} @_ }); ok( $j->query_size, 3 ); ok( $j, "[1, 2, 3]" ); $i->insert( 2 ); ok( $j->query_size, 3 ); ok( $j, "[2, 3, 2]" ); my $S = computed(1,2,3); $S->set_filter(sub {map {$_+1} @_ }); my $Sr = $S->query; { my $Sr2 = $S->query; my @Sr2 = $S->query; ok( "@Sr2", "@$Sr2" ); ok( "@Sr2", "@$Sr" ); } $S->insert(7); $S->ginsert(9); { my $Sr2 = $S->query; my @Sr2 = $S->query; ok( "@Sr2", "@$Sr2" ); ok( "@Sr2", "@$Sr" ); } $S->set_vector($i); { my $Sr2 = $S->query; my @Sr2 = $S->query; ok( "@Sr2", "@$Sr2" ); ok( "@Sr2", "@$Sr" ); } $S->set_vector([1,2,3,5]); { my $Sr2 = $S->query; my @Sr2 = $S->query; ok( "@Sr2", "@$Sr2" ); ok( "@Sr2", "@$Sr" ); }