X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Ftext_tradition_analysis.t;h=4828b68074f194d253cac7ddb1b93e32b13b3458;hb=62a39b8f5d0ae86b26350664828069a2a44f5645;hp=74428ef98545dcc15623dfbb032e0f3ea22205df;hpb=f2fec47dc44816775c844e8b50cef03b12b69dae;p=scpubgit%2Fstemmatology.git diff --git a/t/text_tradition_analysis.t b/t/text_tradition_analysis.t index 74428ef..4828b68 100644 --- a/t/text_tradition_analysis.t +++ b/t/text_tradition_analysis.t @@ -50,13 +50,28 @@ my %expected_genealogical = ( ); my $data = run_analysis( $tradition ); +my $c = $tradition->collation; foreach my $row ( @{$data->{'variants'}} ) { # Account for rows that used to be "not useful" unless( exists $expected_genealogical{$row->{'id'}} ) { $expected_genealogical{$row->{'id'}} = 1; } - is( $row->{'genealogical'}, $expected_genealogical{$row->{'id'}}, + my $gen_bool = $row->{'genealogical'} ? 1 : 0; + is( $gen_bool, $expected_genealogical{$row->{'id'}}, "Got correct genealogical flag for row " . $row->{'id'} ); + # Check that we have the right row with the right groups + my $rank = $row->{'id'}; + foreach my $rdghash ( @{$row->{'readings'}} ) { + # Skip 'readings' that aren't really + next unless $c->reading( $rdghash->{'readingid'} ); + # Check the rank + is( $c->reading( $rdghash->{'readingid'} )->rank, $rank, + "Got correct reading rank" ); + # Check the witnesses + my @realwits = sort $c->reading_witnesses( $rdghash->{'readingid'} ); + my @sgrp = sort @{$rdghash->{'group'}}; + is_deeply( \@sgrp, \@realwits, "Reading analyzed with correct groups" ); + } } is( $data->{'variant_count'}, 58, "Got right total variant number" ); # TODO Make something meaningful of conflict count, maybe test other bits