From 36ea288cc78dedaadd1d3b38331489646be26626 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 14 Jun 2011 16:04:36 -0500 Subject: remove test numbers --- t/more-inheritance.t | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 t/more-inheritance.t (limited to 't/more-inheritance.t') diff --git a/t/more-inheritance.t b/t/more-inheritance.t new file mode 100644 index 0000000..94d726c --- /dev/null +++ b/t/more-inheritance.t @@ -0,0 +1,105 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use Test::Moose; + +{ + package Parent; + use Moose; + use Bread::Board::Declare; + + has foo => ( + is => 'ro', + isa => 'Str', + value => 'parent', + ); + + has bar => ( + is => 'ro', + isa => 'Str', + block => sub { + my $s = shift; + return $s->param('foo') . ' ' . 'parent'; + }, + dependencies => ['foo'], + ); +} + +{ + package Child1; + use Moose; + use Bread::Board::Declare; + + extends 'Parent'; + + has foo => ( + is => 'ro', + isa => 'Str', + value => 'child', + ); +} + +{ + package Child2; + use Moose; + use Bread::Board::Declare; + + extends 'Parent'; + + has bar => ( + is => 'ro', + isa => 'Str', + block => sub { + my $s = shift; + return $s->param('foo') . ' ' . 'child'; + }, + dependencies => ['foo'], + ); +} + +{ + package Child3; + use Moose; + use Bread::Board::Declare; + + extends 'Child1'; + + has bar => ( + is => 'ro', + isa => 'Str', + block => sub { + my $s = shift; + return $s->param('foo') . ' ' . 'child'; + }, + dependencies => ['foo'], + ); +} + +with_immutable { +{ + my $obj = Parent->new; + is($obj->foo, 'parent'); + is($obj->bar, 'parent parent'); +} + +{ + my $obj = Child1->new; + is($obj->foo, 'child'); + is($obj->bar, 'child parent'); +} + +{ + my $obj = Child2->new; + is($obj->foo, 'parent'); + is($obj->bar, 'parent child'); +} + +{ + my $obj = Child3->new; + is($obj->foo, 'child'); + is($obj->bar, 'child child'); +} +} 'Parent', 'Child1', 'Child2', 'Child3'; + +done_testing; -- cgit v1.2.3-54-g00ecf