default => 'Tradition',
);
-has 'stemma' => (
- is => 'ro',
- isa => 'Text::Tradition::Stemma',
- writer => '_add_stemma',
- predicate => 'has_stemma',
+has 'stemmata' => (
+ traits => ['Array'],
+ isa => 'ArrayRef[Text::Tradition::Stemma]',
+ handles => {
+ all_stemmata => 'elements',
+ _add_stemma => 'push',
+ stemma => 'get',
+ stemma_count => 'count',
+ clear_stemmata => 'clear',
+ },
);
# Create the witness before trying to add it
my $s;
ok( $s = $t->add_stemma( dotfile => 't/data/simple.dot' ), "Added a simple stemma" );
is( ref( $s ), 'Text::Tradition::Stemma', "Got a stemma object returned" );
-is( $t->stemma, $s, "Stemma is the right one" );
+is( $t->stemma_count, 1, "Tradition claims to have a stemma" );
+is( $t->stemma(0), $s, "Tradition hands back the right stemma" );
=end testing
my $s = $t->add_stemma( dotfile => 't/data/simple.dot' );
ok( $d->save( $t ), "Updated tradition with stemma" );
is( $d->tradition( $uuid ), $t, "Correct tradition returned for id" );
- is( $d->tradition( $uuid )->stemma, $s, "...and it has the correct stemma" );
+ is( $d->tradition( $uuid )->stemma(0), $s, "...and it has the correct stemma" );
try {
$d->save( $s );
} catch( Text::Tradition::Error $e ) {
is( scalar $f->tradition_ids, 2, "Directory index has both traditions" );
my $tf = $f->tradition( $uuid );
is( $tf->name, $t->name, "Retrieved the tradition from a new directory" );
- my $sid = $f->object_to_id( $tf->stemma );
+ my $sid = $f->object_to_id( $tf->stemma(0) );
try {
$f->tradition( $sid );
} catch( Text::Tradition::Error $e ) {
my $s;
ok( $s = $t->add_stemma( dotfile => 't/data/simple.dot' ), "Added a simple stemma" );
is( ref( $s ), 'Text::Tradition::Stemma', "Got a stemma object returned" );
-is( $t->stemma, $s, "Stemma is the right one" );
+is( $t->stemma_count, 1, "Tradition claims to have a stemma" );
+is( $t->stemma(0), $s, "Tradition hands back the right stemma" );
}
my $s = $t->add_stemma( dotfile => 't/data/simple.dot' );
ok( $d->save( $t ), "Updated tradition with stemma" );
is( $d->tradition( $uuid ), $t, "Correct tradition returned for id" );
- is( $d->tradition( $uuid )->stemma, $s, "...and it has the correct stemma" );
+ is( $d->tradition( $uuid )->stemma(0), $s, "...and it has the correct stemma" );
try {
$d->save( $s );
} catch( Text::Tradition::Error $e ) {
is( scalar $f->tradition_ids, 2, "Directory index has both traditions" );
my $tf = $f->tradition( $uuid );
is( $tf->name, $t->name, "Retrieved the tradition from a new directory" );
- my $sid = $f->object_to_id( $tf->stemma );
+ my $sid = $f->object_to_id( $tf->stemma(0) );
try {
$f->tradition( $sid );
} catch( Text::Tradition::Error $e ) {