remove some debugging statements
[scpubgit/stemmatology.git] / t / text_tradition_parser_json.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use Test::More 'no_plan';
5 $| = 1;
6
7
8
9 # =begin testing
10 {
11 use Text::Tradition;
12 binmode STDOUT, ":utf8";
13 binmode STDERR, ":utf8";
14 eval { no warnings; binmode $DB::OUT, ":utf8"; };
15
16 use_ok( 'Text::Tradition::Parser::JSON' );
17
18 open( JSFILE, 't/data/cx16.json' );
19 binmode JSFILE, ':utf8';
20 my @lines = <JSFILE>;
21 close JSFILE;
22
23 my $t = Text::Tradition->new(
24     'name' => 'json',
25     'input' => 'JSON',
26     'string' => join( '', @lines ),
27 );
28
29 is( ref( $t ), 'Text::Tradition', "Parsed a JSON alignment" );
30 if( $t ) {
31     is( scalar $t->collation->readings, 26, "Collation has all readings" );
32     is( scalar $t->collation->paths, 32, "Collation has all paths" );
33     is( scalar $t->witnesses, 3, "Collation has all witnesses" );
34 }
35
36 my %seen_wits;
37 map { $seen_wits{$_} = 0 } qw/ A B C /;
38 # Check that we have the right witnesses
39 foreach my $wit ( $t->witnesses ) {
40         $seen_wits{$wit->sigil} = 1;
41 }
42 is( scalar keys %seen_wits, 3, "No extra witnesses were made" );
43 foreach my $k ( keys %seen_wits ) {
44         ok( $seen_wits{$k}, "Witness $k still exists" );
45 }
46
47 # Check that the witnesses have the right texts
48 foreach my $wit ( $t->witnesses ) {
49         my $origtext = join( ' ', @{$wit->text} );
50         my $graphtext = $t->collation->path_text( $wit->sigil );
51         is( $graphtext, $origtext, "Collation matches original for witness " . $wit->sigil );
52 }
53 }
54
55
56
57
58 1;