#!/usr/bin/perl
use Test;
BEGIN { plan tests => 14 }
require Lingua::ZH::TaBE;
ok($Lingua::ZH::TaBE::VERSION) if $Lingua::ZH::TaBE::VERSION or 1;
my $tabe = Lingua::ZH::TaBE->new;
ok(ref($tabe), 'Lingua::ZH::TaBE', 'blessing TaBE object');
my $tsi = $tabe->Tsi("¨®");
ok( "$tsi", "¨®", 'Tsi stringification' );
ok(
join(',', $tsi->yins),
"£¥£,£¡£º",
'PossibleTsiYin()',
);
ok(
$tsi->yins->[0] * 1,
8216,
'yins() overload',
);
my $chu = $tabe->Chu("¸¾¹D¤§Ãø¡AÃø©ó¤W«C¤Ñ¡C");
ok(
join(",", $chu->chunks),
"¸¾¹D¤§Ãø,¡A,Ãø©ó¤W«C¤Ñ,¡C",
'PossibleTsiYin()',
);
my $chunk = $chu->chunks->[0];
ok(
join(",", $chunk->tsis),
"¸¾¹D,¤§,Ãø",
'Segmentation',
);
ok(
$tabe->Chu("¹D¥i¹D¡A«D±`¹D¡C")
->chunks->[2] # «D±`¹D
->tsis->[0] # «D±`
->zhis->[1] # ±`
->yins->[0] # £¥£µ£½
->zuyins->[0], # £¥
"£¥",
'tsis->zhis',
);
# ¦Û°ÊÂ_µü
my @words = $tabe->split(
"·í§Ú̦b¹q¸£¤¤³B²z¤¤¤å¸ê°T®É,¬Û«H¨ä¤¤³Ì´o¤Hªºª¬ªp¤§¤@,".
"²ö¹L©ó·Q¥´ªº¦r¥´¤£¥X¨Ó¤F."
);
ok(
join(",", @words),
"·í,§ÚÌ,¦b,¹q¸£,¤¤,³B²z,¤¤¤å,¸ê°T,®É,¬Û«H,¨ä¤¤,³Ì,´o¤H,ªº,ª¬ªp,¤§¤@,²ö¹L©ó,·Q¥´,ªº,¦r,¥´,¤£¥X¨Ó,¤F",
'split($string)'
);
# ½ÆÂøÂ_µü
@words = $tabe->split(
"·í§Ú̦b¹q¸£¤¤³B²z¤¤¤å¸ê°T®É,¬Û«H¨ä¤¤³Ì´o¤Hªºª¬ªp¤§¤@,".
"²ö¹L©ó·Q¥´ªº¦r¥´¤£¥X¨Ó¤F.", "Complex"
);
ok(
join(",", @words),
"·í,§ÚÌ,¦b,¹q¸£,¤¤,³B²z,¤¤¤å,¸ê°T,®É,¬Û«H,¨ä¤¤,³Ì,´o¤H,ªº,ª¬ªp,¤§¤@,²ö¹L©ó,·Q¥´,ªº,¦r,¥´,¤£¥X,¨Ó¤F",
'split($string, "Complex")'
);
# °f¦VÂ_µü
@words = $tabe->split(
"·í§Ú̦b¹q¸£¤¤³B²z¤¤¤å¸ê°T®É,¬Û«H¨ä¤¤³Ì´o¤Hªºª¬ªp¤§¤@,".
"²ö¹L©ó·Q¥´ªº¦r¥´¤£¥X¨Ó¤F.", "Backward"
);
ok(
join(",", @words),
"·í,§ÚÌ,¦b,¹q,¸£¤¤,³B²z,¤¤¤å,¸ê°T,®É,¬Û«H,¨ä¤¤,³Ì,´o¤H,ªº,ª¬ªp,¤§¤@,²ö¹L©ó,·Q,¥´ªº,¦r,¥´,¤£¥X,¨Ó¤F",
'split($string, "Backward")'
);
# ¥i¥Î¼Æ¦r©Î¤å¦r«Ø¥ß Zhi ª«¥ó
ok(
$tabe->Zhi(42056),
$tabe->Zhi('¤H'),
"Zhi() dualvar"
);
# §ä "º~" ªº¦Pµ¦r
ok(
join(",", $tabe->Zhi('º~')->yins->[0]->zhis),
"©M,º~,¦½,§ò,²k,¾Ñ,¿«,¾Ù,®«,ÀX,Éä,Ãv,ØF,®Â,åÃ,æc,Õ©,ÊC,Ú¾,Ûr,Óà,¾Z,×÷,ï_,ÑA,ÒT,Õö,àä,ãç,¾g,ë_,ïF,ñp,òF,òù,èu,ö¹",
"Zhi->yins->zhis()"
);
ok(
$tabe->ZuYin('£¦')->zhi->yins->[0]->zhis->[0],
'¥¢',
"Yin->zhis"
);
1;