#!/usr/bin/perl
#use Mooix::Thing;
my %tests;

sub gettests {
	my $this=shift;
	
	opendir (THINGDIR, $this->id) || $this->croak("opendir");
	map { $tests{$_} = 1 }
		grep { /^test_.+/ && $this->implements($_) && $_ ne 'test_list' } 
		readdir THINGDIR;
	closedir THINGDIR;
	
	gettests($this->parent) if ref $this->parent;
}

run sub ($) {
	my $this=shift;
	%_=@_;
	
	gettests($this);
	return map { $_ => $this } keys %tests;
}
