#!/usr/bin/perl -w
use
5.004;
plan
tests
=> 15;
MyTestHelpers::nowarnings();
{
my
$want_version
= 75;
ok (
$Math::NumSeq::LuckyNumbers::VERSION
,
$want_version
,
'VERSION variable'
);
ok (Math::NumSeq::LuckyNumbers->VERSION,
$want_version
,
'VERSION class method'
);
ok (
eval
{ Math::NumSeq::LuckyNumbers->VERSION(
$want_version
); 1 },
1,
"VERSION class check $want_version"
);
my
$check_version
=
$want_version
+ 1000;
ok (!
eval
{ Math::NumSeq::LuckyNumbers->VERSION(
$check_version
); 1 },
1,
"VERSION class check $check_version"
);
}
{
my
$seq
= Math::NumSeq::LuckyNumbers->new;
ok (
$seq
->characteristic(
'digits'
),
undef
,
'characteristic(digits)'
);
ok (!
$seq
->characteristic(
'smaller'
), 1,
'characteristic(smaller)'
);
ok (!
$seq
->characteristic(
'count'
), 1,
'characteristic(count)'
);
ok (
$seq
->characteristic(
'integer'
), 1,
'characteristic(integer)'
);
ok (
$seq
->characteristic(
'increasing'
), 1,
'characteristic(increasing)'
);
ok (
$seq
->characteristic(
'non_decreasing'
), 1,
'characteristic(non_decreasing)'
);
ok (
$seq
->characteristic(
'increasing_from_i'
),
$seq
->i_start,
'characteristic(increasing_from_i)'
);
ok (
$seq
->characteristic(
'non_decreasing_from_i'
),
$seq
->i_start,
'characteristic(non_decreasing_from_i)'
);
ok (
$seq
->i_start, 1,
'i_start()'
);
my
@pnames
=
map
{
$_
->{
'name'
}}
$seq
->parameter_info_list;
ok (
join
(
','
,
@pnames
),
''
);
}
{
my
@sieve
= (
map
{ 2
*$_
+1} 0 .. 500);
for
(
my
$upto
= 1;
$upto
<=
$#sieve
;
$upto
++) {
my
$step
=
$sieve
[
$upto
];
for
(
my
$i
=
$step
-1;
$i
<=
$#sieve
;
$i
+=
$step
-1) {
splice
@sieve
,
$i
, 1;
}
}
my
@got
;
my
$seq
= Math::NumSeq::LuckyNumbers->new;
while
(
@got
<
@sieve
) {
my
(
$i
,
$value
) =
$seq
->
next
;
push
@got
,
$value
;
}
my
$got
=
join
(
','
,
@got
);
my
$sieve
=
join
(
','
,
@sieve
);
ok (
$got
,
$sieve
);
}
exit
0;