1#!/usr/bin/perl 2# $File: //member/autrijus/Lingua-ZH-Toke/t/1-basic.t $ $Author: autrijus $ 3# $Revision: #2 $ $Change: 9669 $ $DateTime: 2004/01/11 13:11:05 $ 4 5use strict; 6use Test; 7 8BEGIN { plan tests => 20 } 9 10require Lingua::ZH::Toke; 11ok($Lingua::ZH::Toke::VERSION) if $Lingua::ZH::Toke::VERSION or 1; 12 13# Create Lingua::ZH::Toke::Sentence object (->Sentence also works) 14my $token = Lingua::ZH::Toke->new( '���H�o�b/�O������B/�q�o�N�����' ); 15 16my $tmp = $token; 17 18# Easy tokenization via array deferencing 19ok($tmp = $tmp->[0], '���H�o�b', 'Tokenization - Fragment'); 20ok($tmp = $tmp->[2], '�o�b', 'Tokenization - Phrase'); 21ok($tmp = $tmp->[0], '�o', 'Tokenization - Character'); 22ok($tmp = $tmp->[0], '��������', 'Tokenization - Pronounciation'); 23ok($tmp = $tmp->[2], '��', 'Tokenization - Phonetic'); 24 25# Magic histogram via hash deferencing 26ok($token->{"���H�o�b"}, 1, 'Histogram - Fragment'); 27ok($token->{"�N�����"}, 1, 'Histogram - Phrase'); 28ok($token->{"�o�N����"}, undef, 'Histogram - No Phrase'); 29ok($token->{"��"}, 2, 'Histogram - Character'); 30ok($token->{"����"}, 2, 'Histogram - Pronounciation'); 31ok($token->{"��"}, 3, 'Histogram - Phonetic'); 32 33my @phrases = qw(�� �H �o�b �O�� ��� �B �q�o �N�����); 34 35# Iteration 36while ($tmp = <$token>) { # iterate each fragment 37 while (<$tmp>) { # iterate each phrase 38 ok($_, shift(@phrases), 'Iteration'); 39 } 40} 41 421; 43