blob: 35049955db773bd4279e79f8156eaf8b7aa1a612 [file] [log] [blame]
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use Test::More;
use KorAP::XML::Annotation::OpenNLP::Morpho;
use Scalar::Util qw/weaken/;
use Data::Dumper;
use lib 't/annotation';
use TestInit;
ok(my $tokens = TestInit::tokens('0001'), 'Parse tokens');
is($tokens->stream->pos(0)->to_string, '[(0-3)-:tokens$<i>18|<>:base/s:t$<b>64<i>0<i>129<i>18<b>0|_0$<i>0<i>3|i:zum|s:Zum]', 'Token is correct');
is($tokens->stream->pos(1)->to_string, '[(4-11)_1$<i>4<i>11|i:letzten|s:letzten]', 'Token is correct');
my $i = 2;
foreach ([12,23, 'kulturellen'],
[24,30, 'Anlass'],
[31,35, 'lädt'],
[36,39, 'die'],
[40,47, 'Leitung'],
[48,51, 'des'],
[52,63, 'Schulheimes'],
[64,73, 'Hofbergli'],
[74,77, 'ein'],
[79,84, 'bevor'],
[85,88, 'der'],
[89,96, 'Betrieb'],
[97,101, 'Ende'],
[102,111, 'Schuljahr'],
[112,123, 'eingestellt'],
[124,128, 'wird']
) {
is($tokens->stream->pos($i++)->to_string,
'[('.$_->[0].'-'.$_->[1].')'.
'_'.($i-1).
'$<i>'.$_->[0].'<i>' . $_->[1] . '|' .
'i:'.lc($_->[2]).'|s:'.$_->[2].']',
'Token is correct');
};
ok(!$tokens->stream->pos($i++), 'No more tokens');
ok($tokens->add('OpenNLP', 'Morpho'), 'Add Structure');
my $data = $tokens->to_data->{data};
like($data->{foundries}, qr!opennlp/morpho!, 'data');
is($data->{stream}->[0]->[2], '_0$<i>0<i>3', 'Position');
is($data->{stream}->[0]->[4], 'opennlp/p:APPRART', 'POS');
is($data->{stream}->[1]->[2], 'opennlp/p:ADJA', 'POS');
is($data->{stream}->[2]->[2], 'opennlp/p:ADJA', 'POS');
is($data->{stream}->[-1]->[2], 'opennlp/p:VAFIN', 'POS');
done_testing;
__END__