trAvis - MANAGER
Edit File: 029_instance_application_role_args.t
#!/usr/bin/perl # This is automatically generated by author/import-moose-test.pl. # DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!! use t::lib::MooseCompat; use strict; use warnings; use Test::More; use Test::Exception; { package Point; use Mouse; with qw/DoesNegated DoesTranspose/; has x => ( isa => 'Int', is => 'rw' ); has y => ( isa => 'Int', is => 'rw' ); sub inspect { [$_[0]->x, $_[0]->y] } no Mouse; } { package DoesNegated; use Mouse::Role; sub negated { my $self = shift; $self->new( x => -$self->x, y => -$self->y ); } no Mouse::Role; } { package DoesTranspose; use Mouse::Role; sub transpose { my $self = shift; $self->new( x => $self->y, y => $self->x ); } no Mouse::Role; } my $p = Point->new( x => 4, y => 3 ); DoesTranspose->meta->apply( $p, -alias => { transpose => 'negated' } ); is_deeply($p->negated->inspect, [3, 4]); is_deeply($p->transpose->inspect, [3, 4]); done_testing;