From e1c675f0a434b6323cff812c8293eee5dc0c6c28 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 10 Oct 2011 14:10:14 -0500 Subject: sketch out subcontainers (still needs work) --- t/subcontainers.t | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 t/subcontainers.t (limited to 't/subcontainers.t') diff --git a/t/subcontainers.t b/t/subcontainers.t new file mode 100644 index 0000000..992f873 --- /dev/null +++ b/t/subcontainers.t @@ -0,0 +1,42 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; + +{ + package SubContainer; + use Moose; + use Bread::Board::Declare; + + has foo_sub => ( + is => 'ro', + isa => 'Str', + value => 'FOOSUB', + ); +} + +{ + package Container; + use Moose; + use Bread::Board::Declare; + + has subcontainer => ( + traits => ['Container'], + is => 'ro', + isa => 'SubContainer', + ); +} + +{ + my $c = Container->new; + is($c->resolve(service => 'subcontainer/foo_sub'), 'FOOSUB'); + is($c->subcontainer->foo_sub, 'FOOSUB'); +} + +{ + my $c = Container->new(subcontainer => SubContainer->new(foo_sub => 'SUBFOO')); + is($c->resolve(service => 'subcontainer/foo_sub'), 'SUBFOO'); + is($c->subcontainer->foo_sub, 'SUBFOO'); +} + +done_testing; -- cgit v1.2.3