blob: c080f2fa67666965966e616d761c9debf6d30772 [file] [log] [blame]
use strict;
use warnings;
use Test::TempFile;
use Test::More tests => 4;
use Mojo::JSON qw(decode_json encode_json to_json);
use_ok('IDS::DeReKoVecs::Read');
IDS::DeReKoVecs::Read::init_net(
"example-models/wpd19_10000/wpd19_10000.vecs",
"example-models/wpd19_10000/wpd19_10000.net",
0, 1
);
my $word = "Grund";
my $dedupe = 0;
my $nosp = 0;
my $res;
my $cutoff = 50000;
subtest 'predictive neighbours' => sub {
$res = get_neighbours( $word, 100, 0, 0, $cutoff, $dedupe, $nosp );
is( $res->{paradigmatic}->[1]->{word}, "Reaktion", "primary paradigmatic neighbour of Grund" );
is( $res->{syntagmatic}->[0]->{word}, "Hitchcock", "primary syntagmatic neighbour of Grund" );
};
subtest 'count based collocates' => sub {
$res = IDS::DeReKoVecs::Read::getClassicCollocators( getWordNumber($word) );
$res = decode_json($res);
is( $res->{collocates}->[0]->{word}, "diesem", "primary collocate of Grund" );
};
subtest 'dump ascii vecs' => sub {
my $t = Test::TempFile->new();
$res = IDS::DeReKoVecs::Read::dump_vecs($t->path);
$t->exists_ok
->content_like(qr/^10544 200.*/, 'ascii vecs dump')
->content_like(qr/Wortzeichen -?[01]\.[0-9]/, 'ascii vecs dump contains some words');
};
done_testing;