Mail-SpamAssassin-KeywordRu.../t/01_attributes.t

68 lines
3.3 KiB
Perl

#!/usr/bin/perl
# Test that object attributes can be set and get
use Test::More;
use lib 'lib/';
use Mail::SpamAssassin::KeywordRuleGenerator;
my $defaults = {
'id' => 'KW',
'priority' => 50,
'debug' => 0,
'singleOutfile' => 0,
'joinScores' => 1
};
my $args = {
'id' => 'TEST',
'priority' => 10,
'debug' => 1,
'singleOutfile' => 1,
'joinScores' => 0
};
# Default object
my $kwd = Mail::SpamAssassin::KeywordRuleGenerator->new();
# Object with initialization arguments
my $kwi = Mail::SpamAssassin::KeywordRuleGenerator->new( $args );
# id
ok ($kwd->{'id'} == $defaults->{'id'}, "Get default 'id' from object hash");
ok ($kwd->getId() == $defaults->{'id'}, "Get default 'id' from getter");
ok ($kwi->{'id'} == $args->{'id'}, "Get 'id' from initialized object hash");
ok ($kwi->getId() == $args->{'id'}, "Get non-default 'id' from initialized getter");
ok ($kwd->setId($args->{'id'}), "Set 'id' with setter");
ok ($kwd->{'id'} == $args->{'id'}, "Get non-default 'id' from object hash");
ok ($kwd->getId() == $args->{'id'}, "Get non-default 'id' from getter");
$kwd->{'id'} = 'XYZ';
ok ($kwd->{'id'} == 'XYZ', "Manual set of 'id' attribute");
# priority
ok ($kwd->{'priority'} == $defaults->{'priority'}, "Get default 'priority' from object hash");
ok ($kwd->getPriority() == $defaults->{'priority'}, "Get default 'priority' from getter");
ok ($kwi->{'priority'} == $args->{'priority'}, "Get non-default 'priority' from object hash");
ok ($kwi->getPriority() == $args->{'priority'}, "Get non-default 'priority' from initialized getter");
ok ($kwd->setPriority($args->{'priority'}), "Set 'priority' with setter");
ok ($kwd->{'priority'} == $args->{'priority'}, "Get non-default 'priority' from object hash");
ok ($kwd->getPriority() == $args->{'priority'}, "Get non-default 'priority' from getter");
$kwd->{'priority'} = 0;
ok ($kwd->{'priority'} == 0, "Manual set of 'priority' attribute");
# debug - No getter or setter. This should be defined during 'new', but can be overwritten manually.
ok ($kwd->{'debug'} == $defaults->{'debug'}, "Get default 'debug' from object hash");
ok ($kwi->{'debug'} == $args->{'debug'}, "Get non-default 'debug' from object hash");
$kwd->{'debug'} = 1;
ok ($kwd->{'debug'} == 1, "Manual set of 'debug' attribute");
# singleOutfile - No getter or setter. This should be defined during 'new', but can be overwritten manually.
ok ($kwd->{'singleOutfile'} == $defaults->{'singleOutfile'}, "Get default 'singleOutfile' from object hash");
ok ($kwi->{'singleOutfile'} == $args->{'singleOutfile'}, "Get non-default 'singleOutfile' from object hash");
$kwd->{'singleOutfile'} = $args->{'singleOutfile'};
ok ($kwd->{'singleOutfile'} == $args->{'singleOutfile'}, "Manual set of 'singleOutfile' attribute");
# joinScores - No getter or setter. This should be defined during 'new', but can be overwritten manually.
ok ($kwd->{'joinScores'} == $defaults->{'joinScores'}, "Get default 'joinScores' from object hash");
ok ($kwi->{'joinScores'} == $args->{'joinScores'}, "Get non-default 'joinScores' from object hash");
$kwd->{'joinScores'} = $args->{'joinScores'};
ok ($kwd->{'joinScores'} == $args->{'joinScores'}, "Manual set of 'joinScores' attribute");
done_testing();