my $iter = Number::Iterator::XS->new(interval => 50);
$iter++;
is("$iter", 50);
$iter--;
is("$iter", 0);
$iter++;
$iter++;
is("$iter", 100);
$iter = Number::Iterator::XS->new(
interval => 2,
iterate => sub {
my ($self) = @_;
($self->{value} ||= 1) *= $self->{interval};
},
deiterate => sub {
my ($self) = @_;
$self->{value} /= $self->{interval};
}
);
$iter++;
is("$iter", 2);
$iter++;
is("$iter", 4);
$iter++;
is("$iter", 8);
$iter--;
is("$iter", 4);
done_testing();