Acme-PriPara

 view release on metacpan or  search on metacpan

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

package Acme::PriPara;
use 5.008001;
use strict;
use warnings;
use utf8;

our $VERSION = "0.04";

use Readonly;

Readonly our $Laara_and_Mirei => [
    'ManakaLaara',
    'MinamiMirei',
];
Readonly our $SoLaMi_Smile => [

lib/Acme/PriPara/MainMembers.pm  view on Meta::CPAN

package Acme::PriPara::MainMembers;
use Mouse;

use Data::Section::Simple;
use YAML::Tiny;
use Data::Dumper;
use utf8;

has has_pripara_changed => (
    is       => 'rw',
    isa      => 'Bool',
    required => 1,
    default  => 0,
);

no Mouse;

lib/Acme/PriPara/MainMembers/DorothyWest.pm  view on Meta::CPAN

package Acme::PriPara::MainMembers::DorothyWest;
use Mouse;
extends 'Acme::PriPara::MainMembers';
use utf8;

no Mouse;

sub name {
    my ($self) = @_;
    return $self->firstname . '・' . $self->lastname;
}

sub pripara_change {
    my ($self, $twin) = @_;

lib/Acme/PriPara/MainMembers/HojoSophy.pm  view on Meta::CPAN

package Acme::PriPara::MainMembers::HojoSophy;
use Mouse;
extends 'Acme::PriPara::MainMembers';
use utf8;

no Mouse;

sub pripara_change { #override
    my ($self, $option) = @_; 
    return unless (defined $option && $option eq 'Red Flash');
    $self->{has_pripara_changed} = 1;
}

1;

lib/Acme/PriPara/MainMembers/ManakaLaara.pm  view on Meta::CPAN

package Acme::PriPara::MainMembers::ManakaLaara;
use Mouse;
extends 'Acme::PriPara::MainMembers';
use utf8;

no Mouse;

1;

__DATA__

@@ ManakaLaara
firstname: らぁら
lastname: 真中

lib/Acme/PriPara/MainMembers/MinamiMirei.pm  view on Meta::CPAN

package Acme::PriPara::MainMembers::MinamiMirei;
use Mouse;
extends 'Acme::PriPara::MainMembers';
use utf8;

no Mouse;

1;

__DATA__

@@ MinamiMirei
firstname: みれぃ
lastname: 南

lib/Acme/PriPara/MainMembers/ReonaWest.pm  view on Meta::CPAN

package Acme::PriPara::MainMembers::ReonaWest;
use Mouse;
extends 'Acme::PriPara::MainMembers';
use utf8;

no Mouse;

sub name {
    my ($self) = @_;
    return $self->firstname . '・' . $self->lastname;
}

sub pripara_change {
    my ($self, $twin) = @_;

lib/Acme/PriPara/MainMembers/TodoSion.pm  view on Meta::CPAN

package Acme::PriPara::MainMembers::TodoSion;
use Mouse;
extends 'Acme::PriPara::MainMembers';
use utf8;

no Mouse;

1;

__DATA__

@@ TodoSion
firstname: シオン
lastname: 東堂

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

use strict;
use warnings;
use Acme::PriPara;
use Acme::PriPara::MainMembers::ManakaLaara;
use Acme::PriPara::MainMembers::MinamiMirei;
use Acme::PriPara::MainMembers::HojoSophy;
use Acme::PriPara::MainMembers::TodoSion;
use Acme::PriPara::MainMembers::DorothyWest;
use Acme::PriPara::MainMembers::ReonaWest;
use Test::More;
use utf8;

subtest 'Charactors' => sub {
    subtest 'Laara' => sub {
        my $laara = Acme::PriPara::MainMembers::ManakaLaara->new;
        ok ! $laara->has_pripara_changed, 'initially not pripara-changed';
        is $laara->name,          '真中 らぁら';
        is $laara->firstname,     'らぁら';
        is $laara->lastname,      '真中';
        is $laara->age,            10;
        is $laara->birthday,      '11/20';

t/02_team.t  view on Meta::CPAN

use strict;
use warnings;
use Acme::PriPara;
use Test::More;
use utf8;

subtest 'Team' => sub {
    subtest 'Main Members' => sub {
        my ($laara, $mirei, $sophy, $sion, $dorothy, $reona) = Acme::PriPara->main_members;

        is ref $laara,      'Acme::PriPara::MainMembers::ManakaLaara';
        is ref $mirei,      'Acme::PriPara::MainMembers::MinamiMirei';
        is ref $sophy,      'Acme::PriPara::MainMembers::HojoSophy';
        is ref $sion,       'Acme::PriPara::MainMembers::TodoSion';
        is ref $dorothy,    'Acme::PriPara::MainMembers::DorothyWest';



( run in 0.992 second using v1.01-cache-2.11-cpan-49f99fa48dc )