more robust hack for IDP node name problem
[scpubgit/stemmatology.git] / t / text_tradition_analysis.t
CommitLineData
7f52eac8 1#!/usr/bin/perl -w
2
3use strict;
4use Test::More 'no_plan';
5$| = 1;
6
7
8
9# =begin testing
10{
11use Text::Tradition;
12use Text::Tradition::Analysis qw/ run_analysis analyze_variant_location /;
13
14my $datafile = 't/data/florilegium_tei_ps.xml';
15my $tradition = Text::Tradition->new( 'input' => 'TEI',
16 'name' => 'test0',
17 'file' => $datafile );
18my $s = $tradition->add_stemma( 'dotfile' => 't/data/florilegium.dot' );
19is( ref( $s ), 'Text::Tradition::Stemma', "Added stemma to tradition" );
20
f00cefe8 21my %expected_genealogical = (
a44aaf2a 22 1 => 0,
f00cefe8 23 2 => 1,
a44aaf2a 24 3 => 0,
25 5 => 0,
26 7 => 0,
27 8 => 0,
28 10 => 0,
f00cefe8 29 13 => 1,
a44aaf2a 30 33 => 0,
31 34 => 0,
32 37 => 0,
33 60 => 0,
f00cefe8 34 81 => 1,
a44aaf2a 35 84 => 0,
36 87 => 0,
37 101 => 0,
38 102 => 0,
f00cefe8 39 122 => 1,
a44aaf2a 40 157 => 0,
f00cefe8 41 166 => 1,
42 169 => 1,
a44aaf2a 43 200 => 0,
f00cefe8 44 216 => 1,
45 217 => 1,
46 219 => 1,
47 241 => 1,
48 242 => 1,
49 243 => 1,
50);
51
7f52eac8 52my $data = run_analysis( $tradition );
f00cefe8 53foreach my $row ( @{$data->{'variants'}} ) {
a44aaf2a 54 # Account for rows that used to be "not useful"
55 unless( exists $expected_genealogical{$row->{'id'}} ) {
56 $expected_genealogical{$row->{'id'}} = 1;
57 }
f00cefe8 58 is( $row->{'genealogical'}, $expected_genealogical{$row->{'id'}},
59 "Got correct genealogical flag for row " . $row->{'id'} );
60}
a44aaf2a 61is( $data->{'variant_count'}, 58, "Got right total variant number" );
b4cb2d60 62# TODO Make something meaningful of conflict count, maybe test other bits
7f52eac8 63}
64
65
66
67
681;