use constant WEEKDAY => 1;
use constant WEEKEND => 0;
...
sub is_weekday {
my ($self, $date) = @_;
my $dow = (localtime ($date || time))[6];
return substr $self->{weekdays}, $dow, 1 ? WEEKDAY : WEEKEND;
}
####
my %params = (
...
weekdays => '0011111',
# Note that this sets Sun/Mon = weekend, Tue-Sat = weekday
...
);
...
is_deeply($obj, \%params, 'account type created with params');
is($obj->is_weekday(UnixDate(ParseDate('last sunday'), "%s")), 0,
'Sunday is weekend');
is($obj->is_weekday(UnixDate(ParseDate('last tuesday'), "%s")), 1,
'Tuesday is weekday');
####
root@system:/some/path# prove account_type.t
account_type....NOK 27
# Failed test 'Sunday is weekend'
# in account_type.t at line 69.
# got: '1'
# expected: '0'
account_type....NOK 28
# Failed test 'Tuesday is weekday'
# in account_type.t at line 71.
# got: '0'
# expected: '1'