package GO::Object::Base;

=head1 NAME

GO::Object::Base - a set of common specifications

is_obsolete, consider, replaced_by, comment

=cut

use strict;
use Data::Dumper;
use lib 'go/scratch/tools';
#use Exporter;
use base qw(GO::Object::Generic); #GO::MiniTests);
# use GO::TestSet qw(dfv_test);

sub _specification {
	my $self = shift;
	
	return (
		# required
		"is_obsolete", {
			test => dfv_test('is_true_p'),
		},
		"consider", {
			allow_multiple => 1,
			test => dfv_test('is_a_string_p'),
			dependencies => [ 'is_obsolete' ],
		},
		"replaced_by", {
			allow_multiple => 1,
			test => dfv_test('is_a_string_p'),
			dependencies => [ 'is_obsolete' ],
		},
		"comment", {
			test => dfv_test('is_a_string_p'),
		},
	);
}


1;