Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpdeclare(encoding='windows-1251');/* vim: set expandtab tabstop=4 shiftwidth=4: *///// +----------------------------------------------------------------------+// | PHP version 4 |// +----------------------------------------------------------------------+// | Copyright (c) 1997-2003 The PHP Group |// +----------------------------------------------------------------------+// | This source file is subject to version 3.0 of the PHP license, |// | that is bundled with this package in the file LICENSE, and is |// | available at through the world-wide-web at |// | http://www.php.net/license/3_0.txt. |// | If you did not receive a copy of the PHP license and are unable to |// | obtain it through the world-wide-web, please send a note to |// | license@php.net so we can mail you a copy immediately. |// +----------------------------------------------------------------------+// | Authors: Kouber Saparev |// +----------------------------------------------------------------------+//// Numbers_Words class extension to spell numbers in Bulgarian.//if (!defined('PHPUnit_MAIN_METHOD')) {define('PHPUnit_MAIN_METHOD', 'Numbers_Words_BulgarianTest::main');}require_once 'Numbers/Words.php';require_once 'PHPUnit/Framework.php';class Numbers_Words_BulgarianTest extends PHPUnit_Framework_TestCase{var $handle;public static function main(){require_once 'PHPUnit/TextUI/TestRunner.php';PHPUnit_TextUI_TestRunner::run(new PHPUnit_Framework_TestSuite('Numbers_Words_BulgarianTest'));}function setUp(){$this->handle = new Numbers_Words();}/*** Testing numbers between 0 and 9*/function testDigits(){$digits = array('íóëà','åäíî','äâå','òðè','÷åòèðè','ïåò','øåñò','ñåäåì','îñåì','äåâåò');for ($i = 0; $i < 10; $i++) {$number = $this->handle->toWords($i, 'bg');$this->assertEquals($digits[$i], $number);}}/*** Testing numbers between 10 and 99*/function testTens(){$tens = array(11 => 'åäèíàäåñåò',12 => 'äâàíàäåñåò',16 => 'øåñòíàäåñåò',19 => 'äåâåòíàäåñåò',20 => 'äâàäåñåò',21 => 'äâàäåñåò è åäíî',26 => 'äâàäåñåò è øåñò',30 => 'òðèäåñåò',31 => 'òðèäåñåò è åäíî',40 => '÷åòèðèäåñåò',43 => '÷åòèðèäåñåò è òðè',50 => 'ïåòäåñåò',55 => 'ïåòäåñåò è ïåò',60 => 'øåñòäåñåò',67 => 'øåñòäåñåò è ñåäåì',70 => 'ñåäåìäåñåò',79 => 'ñåäåìäåñåò è äåâåò');foreach ($tens as $number => $word) {$this->assertEquals($word, $this->handle->toWords($number, 'bg'));}}/*** Testing numbers between 100 and 999*/function testHundreds(){$hundreds = array(100 => 'ñòî',101 => 'ñòî è åäíî',199 => 'ñòî äåâåòäåñåò è äåâåò',203 => 'äâåñòà è òðè',287 => 'äâåñòà îñåìäåñåò è ñåäåì',300 => 'òðèñòà',356 => 'òðèñòà ïåòäåñåò è øåñò',410 => '÷åòèðèñòîòèí è äåñåò',434 => '÷åòèðèñòîòèí òðèäåñåò è ÷åòèðè',578 => 'ïåòñòîòèí ñåäåìäåñåò è îñåì',689 => 'øåñòñòîòèí îñåìäåñåò è äåâåò',729 => 'ñåäåìñòîòèí äâàäåñåò è äåâåò',894 => 'îñåìñòîòèí äåâåòäåñåò è ÷åòèðè',999 => 'äåâåòñòîòèí äåâåòäåñåò è äåâåò');foreach ($hundreds as $number => $word) {$this->assertEquals($word, $this->handle->toWords($number, 'bg'));}}/*** Testing numbers between 1000 and 9999*/function testThousands(){$thousands = array(1000 => 'õèëÿäà',1001 => 'õèëÿäà è åäíî',1097 => 'õèëÿäà è äåâåòäåñåò è ñåäåì',1104 => 'õèëÿäà ñòî è ÷åòèðè',1243 => 'õèëÿäà äâåñòà ÷åòèðèäåñåò è òðè',2385 => 'äâå õèëÿäè òðèñòà îñåìäåñåò è ïåò',3766 => 'òðè õèëÿäè ñåäåìñòîòèí øåñòäåñåò è øåñò',4196 => '÷åòèðè õèëÿäè ñòî äåâåòäåñåò è øåñò',5846 => 'ïåò õèëÿäè îñåìñòîòèí ÷åòèðèäåñåò è øåñò',6459 => 'øåñò õèëÿäè ÷åòèðèñòîòèí ïåòäåñåò è äåâåò',7232 => 'ñåäåì õèëÿäè äâåñòà òðèäåñåò è äâå',8569 => 'îñåì õèëÿäè ïåòñòîòèí øåñòäåñåò è äåâåò',9539 => 'äåâåò õèëÿäè ïåòñòîòèí òðèäåñåò è äåâåò');foreach ($thousands as $number => $word) {$this->assertEquals($word, $this->handle->toWords($number, 'bg'));}}}if (PHPUnit_MAIN_METHOD == 'Numbers_Words_BulgarianTest::main') {Numbers_Words_BulgarianTest::main();}?>