use 5.10.0;
use Moose;
our $VERSION = 0.04;
has 'num_test_methods' => (
is => 'rw',
isa => 'Int',
writer => 'set_num_test_methods',
default => 0,
);
has 'num_tests' => (
is => 'rw',
isa => 'Int',
writer => 'set_num_tests',
default => 0,
);
# see Moose::Meta::Attribute::Native::Trait::Array
has test_classes => (
is => 'ro',
traits => ['Array'],
isa => 'ArrayRef[Test::Class::Moose::Reporting::Class]',
default => sub { [] },
handles => {
all_test_classes => 'elements',
add_test_class => 'push',
num_test_classes => 'count',
},
);
sub inc_test_methods {
my ( $self, $test_methods ) = @_;
$test_methods //= 1;
$self->set_num_test_methods( $self->num_test_methods + $test_methods );
}
sub inc_tests {
my ( $self, $tests ) = @_;
$tests //= 1;
$self->set_num_tests( $self->num_tests + $tests );
}
sub current_class {
my $self = shift;
return $self->test_classes->[-1];
}
__PACKAGE__->meta->make_immutable;
1;
__END__
=head1 NAME
Test::Class::Moose::Reporting - Test information for Test::Class::Moose
=head1 VERSION
0.04
=head1 SYNOPSIS
my $statistics = Test::Class::Moose::Reporting->new;
=head1 DESCRIPTION
For internal use only (maybe I'll expose it later). Not guaranteed to be
stable.
=head1 ATTRIBUTES
=head2 * C<num_test_classes>
Integer. The number of test classes run.
=head2 * C<num_test_methods>
Integer. The number of test methods run.
=head2 C<num_tests>
Integer. The number of tests run.
=head1 METHODS
=head2 C<inc_test_classes>
$statistics->inc_test_classes; # increments by 1
$statistics->inc_test_classes($x); # increments by $x
=head2 C<inc_test_methods>
$statistics->inc_test_methods; # increments by 1
$statistics->inc_test_methods($x); # increments by $x
=head2 C<inc_tests>
$statistics->inc_tests; # increments by 1
$statistics->inc_tests($x); # increments by $x
=head1 AUTHOR
Curtis "Ovid" Poe, C<< <ovid at cpan.org> >>
=head1 BUGS
Please report any bugs or feature requests to C<bug-test-class-moose at rt.cpan.org>,
or through the web interface at
notified, and then you'll automatically be notified of progress on your bug as
I make changes.
=head1 SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Test::Class::Moose
You can also look for information at:
=over 4
=item * RT: CPAN's request tracker (report bugs here)
=item * AnnoCPAN: Annotated CPAN documentation
=item * CPAN Ratings
=item * Search CPAN
=back
=head1 ACKNOWLEDGEMENTS
=head1 LICENSE AND COPYRIGHT
Copyright 2012 Curtis "Ovid" Poe.
This program is free software; you can redistribute it and/or modify it under
the terms of either: the GNU General Public License as published by the Free
Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
=cut
1;