#!/usr/bin/perl -w use strict; use Test::More; use constant DEBUG => 0; BEGIN { plan tests => 29 }; BEGIN { use_ok 'Lingua::Strfname' or die } ######################### my @names = qw(Clinton William Jefferson Mr. JD III "Bill"); my %tests = ( '%f% m% l' => 'William Jefferson Clinton', '%p% f% M% l%, s' => 'Mr. William J. Clinton, JD', '%p% f% M% l% g%, s' => 'Mr. William J. Clinton III, JD', '%f% a% l' => 'William "Bill" Clinton', '%l,% F%M' => 'Clinton, W.J.', '%a% l,% s' => '"Bill" Clinton, JD', '%l%, f% m' => 'Clinton, William Jefferson', '%l%, f% M' => 'Clinton, William J.', '%l%, f' => 'Clinton, William', '%l%, F% m' => 'Clinton, W. Jefferson', '%f% l' => 'William Clinton', '%f% M% l' => 'William J. Clinton', '%F%M% l' => 'W.J. Clinton', '%F% m% l' => 'W. Jefferson Clinton', ); while (my ($f, $r) = each %tests) { is strfname($f, @names), $r, "Testing '$f'"; } @names[2,6] = ('', ''); %tests = ( '%f% m% l' => 'William Clinton', '%p% f% M% l%, s' => 'Mr. William Clinton, JD', '%p% f% M% l% g%, s' => 'Mr. William Clinton III, JD', '%f% a% l' => 'William Clinton', '%l,% F%M' => 'Clinton, W.', '%a% l,% s' => ' Clinton, JD', '%l%, f% m' => 'Clinton, William', '%l%, f% M' => 'Clinton, William', '%l%, f' => 'Clinton, William', '%l%, F% m' => 'Clinton, W.', '%f% l' => 'William Clinton', '%f% M% l' => 'William Clinton', '%F%M% l' => 'W. Clinton', '%F% m% l' => 'W. Clinton', ); while (my ($f, $r) = each %tests) { is strfname($f, @names), $r, "Testing '$f'"; } __END__