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/inheritance.t | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 t/inheritance.t (limited to 't/inheritance.t') diff --git a/t/inheritance.t b/t/inheritance.t new file mode 100644 index 0000000..b1517e8 --- /dev/null +++ b/t/inheritance.t @@ -0,0 +1,123 @@ +#!/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 => 'FOO', + ); + + has bar => ( + is => 'ro', + isa => 'Str', + block => sub { + my $s = shift; + return $s->param('foo') . 'BAR'; + }, + dependencies => ['foo'], + ); +} + +{ + package Child; + use Moose; + use Bread::Board::Declare; + + extends 'Parent'; + + has baz => ( + is => 'ro', + isa => 'Str', + value => 'BAZ', + ); + + has quux => ( + is => 'ro', + isa => 'Str', + block => sub { + my $s = shift; + return $s->param('foo') + . $s->param('bar') + . $s->param('baz') + . 'QUUX'; + }, + dependencies => ['foo', 'bar', 'baz'], + ); +} + +with_immutable { +{ + my $parent = Parent->new; + ok($parent->has_service('foo'), "parent has foo"); + ok($parent->has_service('bar'), "parent has bar"); + + my $child = Child->new; + ok($child->has_service('foo'), "child has foo"); + ok($child->has_service('bar'), "child has bar"); + ok($child->has_service('baz'), "child has baz"); + ok($child->has_service('quux'), "child has quux"); +} + +{ + my $parent = Parent->new; + isa_ok($parent, 'Bread::Board::Container'); + is($parent->foo, 'FOO'); + is($parent->bar, 'FOOBAR'); +} + +{ + my $parent = Parent->new(foo => 'OOF', bar => 'RAB'); + isa_ok($parent, 'Bread::Board::Container'); + is($parent->foo, 'OOF'); + is($parent->bar, 'RAB'); +} + +{ + my $parent = Parent->new(foo => 'OOF'); + isa_ok($parent, 'Bread::Board::Container'); + is($parent->foo, 'OOF'); + is($parent->bar, 'OOFBAR'); +} + +{ + my $child = Child->new; + is($child->foo, 'FOO'); + is($child->bar, 'FOOBAR'); + is($child->baz, 'BAZ'); + is($child->quux, 'FOOFOOBARBAZQUUX'); +} + +{ + my $child = Child->new( + foo => 'OOF', + bar => 'RAB', + baz => 'ZAB', + quux => 'XUUQ', + ); + is($child->foo, 'OOF'); + is($child->bar, 'RAB'); + is($child->baz, 'ZAB'); + is($child->quux, 'XUUQ'); +} + +{ + my $child = Child->new( + foo => 'OOF', + baz => 'ZAB', + ); + is($child->foo, 'OOF'); + is($child->bar, 'OOFBAR'); + is($child->baz, 'ZAB'); + is($child->quux, 'OOFOOFBARZABQUUX'); +} +} 'Parent', 'Child'; + +done_testing; -- cgit v1.2.3