NAME
Test::RandomCheck - Yet another QuickCheck for Perl
SYNOPSIS
use Test::RandomCheck;
use Test::RandomCheck::Generator;
use Test::More;
sub my_length { ... }
# Define types of values which is used while testing.
my $type_of_arguments = concat(string, string);
random_ok {
my ($s1, $s2) = @_;
# Write a property which the my_length has.
my_length($s1) + my_length($s2) == my_length($s1 . $s2);
} $type_of_arguments;
done_testing;
DESCRIPTION
THIS IS EXPERIMENTAL!
Test::RandomCheck is an implementation of QuickCheck in Perl.
You may want to define any kind of test arguments by using conbinators prepared by Test::RandomCheck::Generator.
FUNCTIONS
<random_ok { ... } $generator;
>-
Run blocks with arguments generated by $generator. $generator must have arbitrary() method which returns the Test::RandomCheck::Generator instance.
It outputs "OK" if the block returns the true value for all random petterns.
SEE ALSO
http://hackage.haskell.org/package/QuickCheck is a test library for Haskell to define properties of functions and to run tests randomly.
Test::LectroTest is another implementation of QuickTest which uses the source code filter and has haskell like syntax (CamelCase class names).
AUTHOR
Masahiro Honma <hiratara@cpan.org>
COPYRIGHT
Copyright 2013- Masahiro Honma
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.