package Acme::PETEK::Testkit; use strict; use vars qw($VERSION); =head1 NAME Acme::PETEK::Testkit - Perl module codebase for Tester's Toolkit =head1 VERSION Version 1.00 =cut $VERSION = '1.00'; =head1 SYNOPSIS This Perl module is intended to be a collection of sample code for the Tester's Toolkit presentation at YAPC::NA 2005 by the author. =for example begin use Acme::PETEK::Testkit; my $c = Acme::PETEK::Testkit->new; $c->incr; =for example end =begin testing my $c = Acme::PETEK::Testkit->new; $c->incr; cmp_ok($c->value,'==',1,'incr sends value to 1'); =end testing =head1 CONSTRUCTOR =head2 $kit = Acme::PETEK::Testkit->new() Creates a new C object, which will be used for the object interface below. =cut sub new { my $class = shift; my $self = { _counter => 0, }; return bless $self, $class; } =head1 OBJECT METHODS =head2 $kit->reset( $int ); Resets the value of the stored counter, optionally setting it to $int. =cut sub reset { my ($self, $int) = @_; $int = 0 unless defined($int); $self->{'_counter'} = $int; return $self->value; } =head2 $kit->incr( $int ); Increment the counter by 1. If C<$int> is provided, increment by that. Returns the current value of the counter. =cut sub incr { my ($self, $int) = @_; $int = 1 unless defined($int); $self->{'_counter'} += $int; return $self->value; } =head2 $kit->decr( $int ); Decrement the counter by 1. If C<$int> is provided, decrement by that. Returns the current value of the counter. =cut sub decr { my ($self, $int) = @_; $int = 1 unless defined($int); $self->{'_counter'} -= $int; return $self->value; } =head2 $kit->value; Returns the current value of the counter. =cut sub value { my $self = shift; return $self->{'_counter'}; } =head2 $kit->sign Returns "positive" or "negative" based on the value of the counter. =cut sub sign { my $self = shift; return 'negative' if $self->{'_counter'} < 0; return 'positive'; } =head1 CLASS METHODS =head2 add($int, $int) Adds the two integers together and returns the result. =cut sub add { my ($int1, $int2) = @_; return $int1 + $int2; } =head2 subtract($int, $int) Subtracts the second integer from the first and returns the result. =cut sub subtract { my ($int1, $int2) = @_; return $int1 - $int2; } =head1 AUTHOR Pete Krawczyk, C<< >> =head1 BUGS Fix 'em yourself! :-) =head1 ALSO SEE Slides from the presentation are available at L. =head1 COPYRIGHT & LICENSE Copyright 2005 Pete Krawczyk, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. This library has also been released under a Creative Commons license at the request of the YAPC::NA 2005 organizers. See L for more information; in short, please give credit to the author should you use this code elsewhere. =cut 1; # End of Acme::PETEK::Testkit