Acme-MilkyHolmes

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

    my ($sherlock, $nero, $elly, $cordelia, $kazumi, $alice) = Acme::MilkyHolmes->members_of($MilkyHolmesSisters);

# DESCRIPTION

Milky Holmes is one of the most famous Japanese TV animation. Acme::MilkyHolmes provides character information of Milky Holmes.

# METHODS

## `members(%options)`

options: `$options{locale} = ja,en` default is ja

    my @members = Acme::MilkyHolmes->members(locale => en);

fetch Milky Holmes members. See SYNOPSIS.

## `members_of($member_name_const, %options)`

options: `$options{locale} = ja,en` default is ja

fetch members specified in `$member_name_const`. See SYNOPSIS and EXPORTED CONSTANTS

# EXPORTED CONSTANTS

- `$MilkyHolmes` : members of Milky Holmes (Sherlock, Nero, Elly and Cordelia).
- `$MilkyHolmesFeathers` : members of Milky Holmes Feathers (Kazumi and Alice).
- `$MilkyHolmesSisters` : members of Milky Holmes Sisters (Sherlock, Nero, Elly, Cordelia, Kazumi and Alice)

# SEE ALSO

lib/Acme/MilkyHolmes.pm  view on Meta::CPAN

    my ($sherlock, $nero, $elly, $cordelia, $kazumi, $alice) = Acme::MilkyHolmes->members_of($MilkyHolmesSisters);

=head1 DESCRIPTION

Milky Holmes is one of the most famous Japanese TV animation. Acme::MilkyHolmes provides character information of Milky Holmes.

=head1 METHODS

=head2 C<members(%options)>

options: C<$options{locale} = ja,en> default is ja

    my @members = Acme::MilkyHolmes->members(locale => en);

fetch Milky Holmes members. See SYNOPSIS.

=head2 C<members_of($member_name_const, %options)>

options: C<$options{locale} = ja,en> default is ja

fetch members specified in C<$member_name_const>. See SYNOPSIS and EXPORTED CONSTANTS


=head1 EXPORTED CONSTANTS

=over 4

=item * C<$MilkyHolmes> : members of Milky Holmes (Sherlock, Nero, Elly and Cordelia).

lib/Acme/MilkyHolmes/Character.pm  view on Meta::CPAN

use utf8;

has localizer => (
    is  => 'ro',
);

has locale => (
    is       => 'rw',
    isa      => 'Str',
    required => 1,
    default  => 'ja',
);

has common => (
    is => 'ro',
);

no Mouse;

sub name {
    my ($self) = @_;

lib/Acme/MilkyHolmes/Group/MilkyHolmes.pm  view on Meta::CPAN

    }
    else {
        if ( defined $self->{color_enable} ) {
            return $self->{color_enable}
        }
        if ( defined $self->common->[0]->{color_enable} ) {
            my $color_enable = $self->common->[0]->{color_enable} + 0;
            return $color_enable;
        }
    }
    return 1; #default is true
}


no Mouse;

1;

t/01_members.t  view on Meta::CPAN


subtest 'members - milkyholmes', sub {
    subtest 'en', sub {
        my @milkyholmes = Acme::MilkyHolmes->members( locale => 'en' );
        is( scalar(@milkyholmes), 4);
        is( $milkyholmes[0]->name, 'Sherlock Shellingford' );
        is( $milkyholmes[1]->name, 'Nero Yuzurizaki' );
        is( $milkyholmes[2]->name, 'Hercule Barton' );
        is( $milkyholmes[3]->name, 'Cordelia Glauca' );
    };
    subtest 'default - ja', sub {
        my @milkyholmes = Acme::MilkyHolmes->members();
        is( scalar(@milkyholmes), 4);
        is( $milkyholmes[0]->name, 'シャーロック・シェリンフォード' );
        is( $milkyholmes[1]->name, '譲崎 ネロ' );
        is( $milkyholmes[2]->name, 'エルキュール・バートン' );
        is( $milkyholmes[3]->name, 'コーデリア・グラウカ' );
    };
};

subtest 'members_of - milkyholmes', sub {
    subtest 'en', sub {
        my @milkyholmes = Acme::MilkyHolmes->members_of($Acme::MilkyHolmes::MilkyHolmes, locale => 'en' );
        is( scalar(@milkyholmes), 4);
        is( $milkyholmes[0]->name, 'Sherlock Shellingford' );
        is( $milkyholmes[1]->name, 'Nero Yuzurizaki' );
        is( $milkyholmes[2]->name, 'Hercule Barton' );
        is( $milkyholmes[3]->name, 'Cordelia Glauca' );
    };
    subtest 'default - ja', sub {
        my @milkyholmes = Acme::MilkyHolmes->members_of($Acme::MilkyHolmes::MilkyHolmes);
        is( scalar(@milkyholmes), 4);
        is( $milkyholmes[0]->name, 'シャーロック・シェリンフォード' );
        is( $milkyholmes[1]->name, '譲崎 ネロ' );
        is( $milkyholmes[2]->name, 'エルキュール・バートン' );
        is( $milkyholmes[3]->name, 'コーデリア・グラウカ' );
    };
};

subtest 'members_of - feathers', sub {
    subtest 'en', sub {
        my @members = Acme::MilkyHolmes->members_of($Acme::MilkyHolmes::MilkyHolmesFeathers, locale => 'en' );
        is( scalar(@members), 2);
        is( $members[0]->name, 'Kazumi Tokiwa' );
        is( $members[1]->name, 'Alice Myojingawa' );
    };
    subtest 'default - ja', sub {
        my @members = Acme::MilkyHolmes->members_of($Acme::MilkyHolmes::MilkyHolmesFeathers);
        is( scalar(@members), 2);
        is( $members[0]->name, '常盤 カズミ' );
        is( $members[1]->name, '明神川 アリス' );
    };
};

subtest 'members_of - milkyholmes sisters', sub {
    subtest 'en', sub {
        my @members = Acme::MilkyHolmes->members_of($Acme::MilkyHolmes::MilkyHolmesSisters, locale => 'en' );
        is( scalar(@members), 6);
        is( $members[0]->name, 'Sherlock Shellingford' );
        is( $members[1]->name, 'Nero Yuzurizaki' );
        is( $members[2]->name, 'Hercule Barton' );
        is( $members[3]->name, 'Cordelia Glauca' );
        is( $members[4]->name, 'Kazumi Tokiwa' );
        is( $members[5]->name, 'Alice Myojingawa' );
    };
    subtest 'default - ja', sub {
        my @members = Acme::MilkyHolmes->members_of($Acme::MilkyHolmes::MilkyHolmesSisters);
        is( scalar(@members), 6);
        is( $members[0]->name, 'シャーロック・シェリンフォード' );
        is( $members[1]->name, '譲崎 ネロ' );
        is( $members[2]->name, 'エルキュール・バートン' );
        is( $members[3]->name, 'コーデリア・グラウカ' );
        is( $members[4]->name, '常盤 カズミ' );
        is( $members[5]->name, '明神川 アリス' );
    };
};

t/01_members.t  view on Meta::CPAN

        $kazumi->locale('en');
        is( $kazumi->name,               'Kazumi Tokiwa' );
        is( $kazumi->firstname,          'Kazumi' );
        is( $kazumi->familyname,         'Tokiwa' );
        is( $kazumi->nickname,           'Kazumi' );
        is( $kazumi->birthday,           'November 20' );
        is( $kazumi->voiced_by,          'Aimi' );
        is( $kazumi->nickname_voiced_by, 'aimin' );
        is( $kazumi->toys,               'Arrow' );
        is( $kazumi->color,              'black' );
        ok( !$kazumi->color_enable ); # default disable
    };

    subtest 'ja', sub {
        my $kazumi = Acme::MilkyHolmes::Character::KazumiTokiwa->new();
        is( $kazumi->locale,             'ja' );
        is( $kazumi->name,               '常盤 カズミ' );
        is( $kazumi->firstname,          'カズミ' );
        is( $kazumi->familyname,         '常盤' );
        is( $kazumi->nickname,           'カズミ' );
        is( $kazumi->birthday,           '11/20' );
        is( $kazumi->voiced_by,          '愛美' );
        is( $kazumi->nickname_voiced_by, 'あいみん' );
        is( $kazumi->toys,               'アロー' );
        is( $kazumi->color,              'black' );
        ok( !$kazumi->color_enable ); # default disable
    };
};

subtest 'Alice', sub {
    subtest 'en', sub {
        my $alice = Acme::MilkyHolmes::Character::AliceMyojingawa->new();
        $alice->locale('en');
        is( $alice->name,               'Alice Myojingawa' );
        is( $alice->firstname,          'Alice' );
        is( $alice->familyname,         'Myojingawa' );
        is( $alice->nickname,           'Alice' );
        is( $alice->birthday,           'June 3' );
        is( $alice->voiced_by,          'Ayasa Itoh' );
        is( $alice->nickname_voiced_by, 'ayasa' );
        is( $alice->toys,               'Bound' );
        is( $alice->color,              'white' );
        ok( !$alice->color_enable ); # default disable
    };

    subtest 'ja', sub {
        my $alice = Acme::MilkyHolmes::Character::AliceMyojingawa->new();
        is( $alice->locale,             'ja' );
        is( $alice->name,               '明神川 アリス' );
        is( $alice->firstname,          'アリス' );
        is( $alice->familyname,         '明神川' );
        is( $alice->nickname,           'アリス' );
        is( $alice->birthday,           '6/3' );
        is( $alice->voiced_by,          '伊藤 彩沙' );
        is( $alice->nickname_voiced_by, '彩沙' );
        is( $alice->toys,               'バウンド' );
        is( $alice->color,              'white' );
        ok( !$alice->color_enable ); # default disable
    };
};


done_testing;



( run in 0.829 second using v1.01-cache-2.11-cpan-8780591d54d )