is( $s->name, 'inline', "object has the right name" );
is( scalar $s->witnesses, 3, "object has three witnesses" );
-my $w = $s->add_witness( 'sigil' => 'D' );
-is( ref( $w ), 'Text::Tradition::Witness', "new witness created" );
-is( $w->sigil, 'D', "witness has correct sigil" );
+my $wit_a = $s->witness('A');
+is( ref( $wit_a ), 'Text::Tradition::Witness', "Found a witness A" );
+if( $wit_a ) {
+ is( $wit_a->sigil, 'A', "Witness A has the right sigil" );
+}
+is( $s->witness('X'), undef, "There is no witness X" );
+ok( !exists $s->{'witnesses'}->{'X'}, "Witness key X not created" );
+
+my $wit_d = $s->add_witness( 'sigil' => 'D', 'sourcetype' => 'collation' );
+is( ref( $wit_d ), 'Text::Tradition::Witness', "new witness created" );
+is( $wit_d->sigil, 'D', "witness has correct sigil" );
is( scalar $s->witnesses, 4, "object now has four witnesses" );
my $del = $s->del_witness( 'D' );
-is( $del, $w, "Deleted correct witness" );
+is( $del, $wit_d, "Deleted correct witness" );
is( scalar $s->witnesses, 3, "object has three witnesses again" );
# TODO test initialization by witness list when we have it
{
use Text::Tradition;
-my $simple = 't/data/simple.txt';
-my $s = Text::Tradition->new(
- 'name' => 'inline',
+my $t = Text::Tradition->new(
+ 'name' => 'simple test',
'input' => 'Tabular',
- 'file' => $simple,
+ 'file' => 't/data/simple.txt',
);
-my $wit_a = $s->witness('A');
-is( ref( $wit_a ), 'Text::Tradition::Witness', "Found a witness A" );
-if( $wit_a ) {
- is( $wit_a->sigil, 'A', "Witness A has the right sigil" );
-}
-is( $s->witness('X'), undef, "There is no witness X" );
+
+is( $t->stemma_count, 0, "No stemmas added yet" );
+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_count, 1, "Tradition claims to have a stemma" );
+is( $t->stemma(0), $s, "Tradition hands back the right stemma" );
}