use Lingua::EN::Inflect qw( WORDLIST );
use Test::More 'no_plan';
my @words;
# Four words...
@words = qw(apple banana carrot tomato);
is WORDLIST(@words),
"apple, banana, carrot, and tomato"
=> 'plain 4 words';
is WORDLIST(@words, {final_sep=>''}),
"apple, banana, carrot and tomato"
=> '4 words, no final sep';
is WORDLIST(@words, {final_sep=>'...'}),
"apple, banana, carrot... and tomato"
=> '4 words, different final sep';
is WORDLIST(@words, {final_sep=>'...', conj=>''}),
"apple, banana, carrot... tomato"
=> '4 words, different final sep, no conjunction';
is WORDLIST(@words, {conj=>'or'}),
"apple, banana, carrot, or tomato"
=> '4 words, different conjunction';
is WORDLIST(@words, {conj=>'&'}),
"apple, banana, carrot, & tomato"
=> '4 words, different conjunction';
# Three words...
@words = qw(apple banana carrot);
is WORDLIST(@words),
"apple, banana, and carrot"
=> 'plain 3 words';
is WORDLIST(@words, {final_sep=>''}),
"apple, banana and carrot"
=> '3 words, no final sep';
is WORDLIST(@words, {final_sep=>'...'}),
"apple, banana... and carrot"
=> '3 words, different final sep';
is WORDLIST(@words, {final_sep=>'...', conj=>''}),
"apple, banana... carrot"
=> '3 words, different final sep, no conjunction';
is WORDLIST(@words, {conj=>'or'}),
"apple, banana, or carrot"
=> '3 words, different conjunction';
is WORDLIST(@words, {conj=>'&'}),
"apple, banana, & carrot"
=> '3 words, different conjunction';
# Three words with semicolons...
@words = ('apple,fuji' , 'banana' , 'carrot');
is WORDLIST(@words),
"apple,fuji; banana; and carrot"
=> 'comma-inclusive 3 words';
is WORDLIST(@words, {final_sep=>''}),
"apple,fuji; banana and carrot"
=> 'comma-inclusive 3 words, no final sep';
is WORDLIST(@words, {final_sep=>'...'}),
"apple,fuji; banana... and carrot"
=> 'comma-inclusive 3 words, different final sep';
is WORDLIST(@words, {final_sep=>'...', conj=>''}),
"apple,fuji; banana... carrot"
=> 'comma-inclusive 3 words, different final sep, no conjunction';
is WORDLIST(@words, {conj=>'or'}),
"apple,fuji; banana; or carrot"
=> 'comma-inclusive 3 words, different conjunction';
is WORDLIST(@words, {conj=>'&'}),
"apple,fuji; banana; & carrot"
=> 'comma-inclusive 3 words, different conjunction';
# Two words...
@words = qw(apple carrot );
is WORDLIST(@words),
"apple and carrot"
=> 'plain 2 words';
is WORDLIST(@words, {final_sep=>''}),
"apple and carrot"
=> '2 words, no final sep';
is WORDLIST(@words, {final_sep=>'...'}),
"apple and carrot"
=> '2 words, different final sep';
is WORDLIST(@words, {final_sep=>'...', conj=>''}),
"applecarrot"
=> '2 words, different final sep, no conjunction';
is WORDLIST(@words, {conj=>'or'}),
"apple or carrot"
=> '2 words, different conjunction';
is WORDLIST(@words, {conj=>'&'}),
"apple & carrot"
=> '2 words, different conjunction';
# One word...
@words = qw(carrot );
is WORDLIST(@words),
"carrot"
=> 'plain 1 word';
is WORDLIST(@words, {final_sep=>''}),
"carrot"
=> '1 word, no final sep';
is WORDLIST(@words, {final_sep=>'...'}),
"carrot"
=> '1 word, different final sep';
is WORDLIST(@words, {final_sep=>'...', conj=>''}),
"carrot"
=> '1 word, different final sep, no conjunction';
is WORDLIST(@words, {conj=>'or'}),
"carrot"
=> '1 word, different conjunction';