#!./perl # # currency.t - tests for Locale::Currency # BEGIN { chdir 't' if -d 't'; @INC = '../lib'; } use Locale::Currency; #----------------------------------------------------------------------- # This is an array of tests. Each test is eval'd as an expression. # If it evaluates to FALSE, then "not ok N" is printed for the test, # otherwise "ok N". #----------------------------------------------------------------------- @TESTS = ( #================================================ # TESTS FOR code2currency #================================================ #---- selection of examples which should all result in undef ----------- '!defined code2currency()', # no argument => undef returned '!defined code2currency(undef)', # undef arg => undef returned '!defined code2currency("zz")', # illegal code => undef '!defined code2currency("zzzz")', # illegal code => undef '!defined code2currency("zzz")', # illegal code => undef '!defined code2currency("ukp")', # gbp for sterling, not ukp #---- misc tests ------------------------------------------------------- 'code2currency("all") eq "Lek"', 'code2currency("ats") eq "Schilling"', 'code2currency("bob") eq "Boliviano"', 'code2currency("bnd") eq "Brunei Dollar"', 'code2currency("cop") eq "Colombian Peso"', 'code2currency("dkk") eq "Danish Krone"', 'code2currency("fjd") eq "Fiji Dollar"', 'code2currency("idr") eq "Rupiah"', 'code2currency("chf") eq "Swiss Franc"', 'code2currency("mvr") eq "Rufiyaa"', 'code2currency("mmk") eq "Kyat"', 'code2currency("mwk") eq "Kwacha"', # two different codes for Kwacha 'code2currency("zmk") eq "Kwacha"', # used in Zambia and Malawi 'code2currency("byr") eq "Belarussian Ruble"', # 2 codes for belarussian ruble 'code2currency("byb") eq "Belarussian Ruble"', # 'code2currency("rub") eq "Russian Ruble"', # 2 codes for russian ruble 'code2currency("rur") eq "Russian Ruble"', # #---- some successful examples ----------------------------------------- 'code2currency("BOB") eq "Boliviano"', 'code2currency("adp") eq "Andorran Peseta"', # first in DATA segment 'code2currency("zwd") eq "Zimbabwe Dollar"', # last in DATA segment #================================================ # TESTS FOR currency2code #================================================ #---- selection of examples which should all result in undef ----------- '!defined currency2code()', # no argument => undef returned '!defined currency2code(undef)', # undef arg => undef returned '!defined currency2code("")', # empty string => undef returned '!defined currency2code("Banana")', # illegal curr name => undef #---- some successful examples ----------------------------------------- 'currency2code("Kroon") eq "eek"', 'currency2code("Markka") eq "fim"', 'currency2code("Riel") eq "khr"', 'currency2code("PULA") eq "bwp"', 'currency2code("Andorran Peseta") eq "adp"', # first in DATA segment 'currency2code("Zimbabwe Dollar") eq "zwd"', # last in DATA segment ); print "1..", int(@TESTS), "\n"; $testid = 1; foreach $test (@TESTS) { eval "print (($test) ? \"ok $testid\\n\" : \"not ok $testid\\n\" )"; print "not ok $testid\n" if $@; ++$testid; } exit 0;