# $Id: stupid.t,v 1.2 2002/08/06 17:04:02 pmh Exp $
use strict;
print "1..2\n";
my %count;
package T;
use Class::Random choose => ['A'],['B'];
sub new{
bless {};
}
package S;
use Class::Random shuffle => qw(A B);
sub new{
bless {};
}
package A;
sub foo{
++$count{a_foo};
}
sub bar{
++$count{a_bar};
}
package B;
sub foo{
++$count{b_foo};
}
sub bar{
++$count{b_bar};
}
package main;
my $test;
foreach(
[choose => 'T'],
[shuffle => 'S'],
){
my($mode,$class)=@$_;
my $t=$class->new;
%count=();
for(1..100){
$t->foo;
$t->bar;
}
my $ok;
foreach(qw(a_foo a_bar b_foo b_bar)){
if($count{$_}<25){
$ok="Failed to call $_ enough times to pass $mode test";
}
}
++$test;
if(defined $ok){
print "not ok $test # $ok\n";
}else{
print "ok $test # $mode\n";
}
}