#!/usr/bin/perl
my
$builder
= Test::More->builder;
binmode
$builder
->output,
':utf8'
;
binmode
$builder
->failure_output,
':utf8'
;
binmode
$builder
->todo_output,
':utf8'
;
use
ok
'Lingua::Conlang::Numbers'
,
qw( :all )
;
are_num2conlang(
[
eo
=> -9,
'negativa naŭ'
],
[
eo
=> 0,
'nul'
],
[
eo
=> 0.9,
'nul komo naŭ'
],
[
eo
=> 9,
'naŭ'
],
[
eo
=>
'NaN'
,
'ne nombro'
],
[
EO
=> 9,
'naŭ'
],
[
esperanto
=> 9,
'naŭ'
],
[
jbo
=> 9,
'so'
],
[
lojban
=> 9,
'so'
],
[
tokipona
=> 9,
'mute'
],
[
TokiPona
=> 9,
'mute'
],
[
toki_pona
=> 9,
'mute'
],
[
'Toki Pona'
=> 9,
'mute'
],
);
are_num2conlang_ordinal(
[
eo
=> -9,
'negativ-naŭa'
],
[
eo
=> 0,
'nula'
],
[
eo
=> 9,
'naŭa'
],
[
jbo
=> 9,
'somoi'
],
[
tokipona
=> 9,
'nanpa mute'
],
);
ok !num2conlang(),
'no args fails'
;
ok !num2conlang(
'eo'
),
'one arg fails'
;
ok !num2conlang(
undef
,
undef
),
'double undef fails'
;
ok !num2conlang(
undef
, 9),
'undef lang fails'
;
ok !num2conlang(
eo
=>
undef
),
'undef num fails'
;
ok !num2conlang(
xx
=> 9),
'unknown lang fails'
;
is num2conlang_languages(), 3,
'3 languages available'
;
ok
scalar
(
grep
{
$_
eq
'eo'
} num2conlang_languages()
),
'languages include eo'
;
sub
are_num2conlang {
my
(
@tests
) =
@_
;
for
my
$test
(
@tests
) {
my
(
$lang
,
$num
,
$word
) = @{
$test
};
is num2conlang(
$lang
=>
$num
),
$word
,
"$lang: $num -> $word"
;
}
}
sub
are_num2conlang_ordinal {
my
(
@tests
) =
@_
;
for
my
$test
(
@tests
) {
my
(
$lang
,
$num
,
$word
) = @{
$test
};
is num2conlang_ordinal(
$lang
=>
$num
),
$word
,
"$lang: $num -> $word"
;
}
}