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 {

t/Types.t  view on Meta::CPAN

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'};

t/Util.t  view on Meta::CPAN

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 )