예제 #1
0
 * 
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
require_once dirname(__FILE__) . '/../../bootstrap/unit.php';
$t = new lime_test(89, new lime_output_color());
$n = new sfChoiceFormat();
$strings = array(array('[1,2] accepts values between 1 and 2, inclusive', array(array('[1,2]'), array('accepts values between 1 and 2, inclusive'))), array('(1,2) accepts values between 1 and 2, excluding 1 and 2', array(array('(1,2)'), array('accepts values between 1 and 2, excluding 1 and 2'))), array('{1,2,3,4} only values defined in the set are accepted', array(array('{1,2,3,4}'), array('only values defined in the set are accepted'))), array('[-Inf,0) accepts value greater or equal to negative infinity and strictly less than 0', array(array('[-Inf,0)'), array('accepts value greater or equal to negative infinity and strictly less than 0'))), array('[0] no file|[1] one file|(1,Inf] {number} files', array(array('[0]', '[1]', '(1,Inf]'), array('no file', 'one file', '{number} files'))));
// ->parse()
$t->diag('->parse()');
foreach ($strings as $string) {
    $t->is($n->parse($string[0]), $string[1], '->parse() takes a choice strings as its first parameters');
}
// ->isValid()
$t->diag('->isValid()');
$t->is($n->isValid(1, '[1]'), true, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(2, '[1]'), false, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(1, '(1)'), false, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(1, '(1,10)'), false, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(10, '(1,10)'), false, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(4, '(1,10)'), true, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(1, '{1,2,4,5}'), true, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(3, '{1,2,4,5}'), false, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(4, '{1,2,4,5}'), true, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(1, '[0,+Inf]'), true, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(10000000, '[0,+Inf]'), true, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(10000000, '[0,Inf]'), true, '->isValid() determines if a given number belongs to the given set');
$t->is($n->isValid(-10000000, '[-Inf,+Inf]'), true, '->isValid() determines if a given number belongs to the given set');
try {
    $n->isValid(1, '[1');
    $t->fail('->isValid() throw an exception if the set is not valid');