#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use Test::Moose;
{
package Bar;
use Moose;
has foo => (
is => 'ro',
isa => 'Str',
required => 1,
);
}
{
package Foo;
use Moose;
use Bread::Board::Declare;
has foo => (
is => 'ro',
isa => 'Str',
value => 'FOO',
);
has bar => (
is => 'ro',
isa => 'Bar',
dependencies => ['foo'],
);
}
with_immutable {
my $foo1 = Foo->new;
is($foo1->bar->foo, 'FOO');
my $foo2 = Foo->new(foo => 'BAR');
is($foo2->bar->foo, 'BAR');
} 'Foo';
done_testing;