Ejemplo n.º 1
0
$pattern = $n->getPattern();
$n1->setPattern(sfNumberFormatInfo::PERCENTAGE);
$pattern1 = $n1->getPattern();
$t->isnt($pattern, $pattern1, '->getPattern() ->setPattern() changes the current pattern');
$n = sfNumberFormatInfo::getInstance();
$n1 = sfNumberFormatInfo::getInstance();
$n->Pattern = sfNumberFormatInfo::CURRENCY;
$n1->setPattern(sfNumberFormatInfo::CURRENCY);
$t->is($n->getPattern(), $n1->getPattern(), '->setPattern() is equivalent to ->Pattern = ');
$t->is($n->getPattern(), $n->Pattern, '->getPattern() is equivalent to ->Pattern');
// ::getCurrencyInstance()
$t->diag('::getCurrencyInstance()');
$t->is(sfNumberFormatInfo::getCurrencyInstance()->getPattern(), sfNumberFormatInfo::getInstance(null, sfNumberFormatInfo::CURRENCY)->getPattern(), '::getCurrencyInstance() is a shortcut for ::getInstance() and type sfNumberFormatInfo::CURRENCY');
// ::getPercentageInstance()
$t->diag('::getPercentageInstance()');
$t->is(sfNumberFormatInfo::getPercentageInstance()->getPattern(), sfNumberFormatInfo::getInstance(null, sfNumberFormatInfo::PERCENTAGE)->getPattern(), '::getPercentageInstance() is a shortcut for ::getInstance() and type sfNumberFormatInfo::PERCENTAGE');
// ::getScientificInstance()
$t->diag('::getScientificInstance()');
$t->is(sfNumberFormatInfo::getScientificInstance()->getPattern(), sfNumberFormatInfo::getInstance(null, sfNumberFormatInfo::SCIENTIFIC)->getPattern(), '::getScientificInstance() is a shortcut for ::getInstance() and type sfNumberFormatInfo::SCIENTIFIC');
$tests = array('fr' => array('DecimalDigits' => -1, 'DecimalSeparator' => ',', 'GroupSeparator' => ' ', 'CurrencySymbol' => '$US', 'NegativeInfinitySymbol' => '-∞', 'PositiveInfinitySymbol' => '+∞', 'NegativeSign' => '-', 'PositiveSign' => '+', 'NaNSymbol' => 'NaN', 'PercentSymbol' => '%', 'PerMilleSymbol' => '‰'), 'en' => array('DecimalDigits' => -1, 'DecimalSeparator' => '.', 'GroupSeparator' => ',', 'CurrencySymbol' => '$', 'NegativeInfinitySymbol' => '-∞', 'PositiveInfinitySymbol' => '+∞', 'NegativeSign' => '-', 'PositiveSign' => '+', 'NaNSymbol' => 'NaN', 'PercentSymbol' => '%', 'PerMilleSymbol' => '‰'));
foreach ($tests as $culture => $fixtures) {
    $n = sfNumberFormatInfo::getInstance($culture);
    foreach ($fixtures as $method => $result) {
        $getter = 'get' . $method;
        $t->is($n->{$getter}(), $result, sprintf('->%s() returns "%s" for culture "%s"', $getter, $result, $culture));
    }
}
// setters/getters
foreach (array('DecimalDigits', 'DecimalSeparator', 'GroupSeparator', 'CurrencySymbol', 'NegativeInfinitySymbol', 'PositiveInfinitySymbol', 'NegativeSign', 'PositiveSign', 'NaNSymbol', 'PercentSymbol', 'PerMilleSymbol') as $method) {
    $t->diag(sprintf('->get%s() ->set%s()', $method, $method));
    $n = sfNumberFormatInfo::getInstance();