Acme-CoC-Dice
view release on metacpan or search on metacpan
lib/Acme/CoC/Dice.pm view on Meta::CPAN
package Acme::CoC::Dice;
use strict;
use warnings;
use utf8;
use Acme::CoC::Util;
use Acme::CoC::Types;
use Carp qw/croak/;
use Smart::Args;
our $VERSION = '0.03';
sub role {
lib/Acme/CoC/Types.pm view on Meta::CPAN
package Acme::CoC::Types;
use strict;
use warnings;
use utf8;
use Mouse::Util::TypeConstraints;
subtype 'command'
=> as 'Str'
=> where { $_ =~ /[Ss]kill|cc [1-9][0-9]*|ccb [1-9][0-9]*|[1-9][0-9]*[dD][1-9][0-9]*/ }
=> message { qw/$_ is invalid command/ };
1;
lib/Acme/CoC/Util.pm view on Meta::CPAN
package Acme::CoC::Util;
use strict;
use utf8;
use warnings;
use parent qw/Exporter/;
use Smart::Args;
use Moose;
our @EXPORT = qw/
eq_any
is_ccb
get_target
t/01_role.t view on Meta::CPAN
use strict;
use warnings;
use utf8;
use Acme::CoC::Dice;
use Acme::CoC::Util;
use Test2::V0;
use Module::Spy;
my $target = 'Acme::CoC::Dice';
subtest '#role' => sub {
use strict;
use warnings;
use utf8;
use Acme::CoC::Types;
use Smart::Args;
use Test2::V0;
subtest 'type: Str' => sub {
sub str_function {
args my $param => {isa => 'Str'};
use strict;
use warnings;
use utf8;
use Acme::CoC::Util;
use Test2::V0;
subtest 'eq_any' => sub {
ok eq_any('test', [1, 2, 'test']);
ok !eq_any('test', [1, 2]);
};
( run in 1.285 second using v1.01-cache-2.11-cpan-49f99fa48dc )