7 use Business::OnlinePayment;
8 use Business::CreditCard qw/ validate /;
11 ok( $tr = Business::OnlinePayment->new('Bambora'), 'Instantiatiate $tr' );
14 ok( $token = $tr->generate_token, "\$tr->generate_token: $token" );
15 ok( $token =~ /^99\d{14}$/, 'Token matches expected format' );
18 # Generate 1,000,000 tokens in series, and check for token collissions
24 for my $i ( 1..1000000 ) {
25 my $token = Business::OnlinePayment::Bambora->generate_token;
26 $invalid++ unless validate( $token );
31 scalar keys %seen == 1000000,
32 sprintf 'Generated %s tokens in %s seconds', scalar(keys(%seen)), $end-$start
34 ok( $invalid == 0, 'All generated tokens pass Luhn check' );
35 ok( ! grep( {$_ > 1} values %seen ), "All 1M tokens were unique" );