[ Index ] |
PHP Cross Reference of Web Application Component Toolkit |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * @package WACT_TESTS 4 * @version $Id: numeric.test.php,v 1.2 2004/11/12 21:25:20 jeffmoore Exp $ 5 */ 6 7 require_once 'singlefield.inc.php'; 8 require_once WACT_ROOT . 'validation/rules/numeric.inc.php'; 9 10 class NumericRuleTestCase extends SingleFieldRuleTestCase { 11 function NumericRuleTestCase($name = 'NumericRuleTestCase') { 12 $this->UnitTestCase($name); 13 } 14 function testNumericRule() { 15 $this->validator->addRule(new NumericPrecisionRule('testfield', 3, 2)); 16 17 $Data =& new DataSpace(); 18 $Data->set('testfield', '111.22'); 19 20 $this->ErrorList->expectNever('addError'); 21 22 $this->validator->validate($Data); 23 $this->assertTrue($this->validator->IsValid()); 24 } 25 function testNumericRuleZero() { 26 $this->validator->addRule(new NumericPrecisionRule('testfield', 3, 2)); 27 28 $Data =& new DataSpace(); 29 $Data->set('testfield', '0'); 30 31 $this->ErrorList->expectNever('addError'); 32 33 $this->validator->validate($Data); 34 $this->assertTrue($this->validator->IsValid()); 35 } 36 function testNumericRuleZeroInt() { 37 $this->validator->addRule(new NumericPrecisionRule('testfield', 3, 2)); 38 39 $Data =& new DataSpace(); 40 $Data->set('testfield', 0); 41 42 $this->ErrorList->expectNever('addError'); 43 44 $this->validator->validate($Data); 45 $this->assertTrue($this->validator->IsValid()); 46 } 47 function testNumericRuleFailure() { 48 // I don't know why this fails? 49 $this->validator->addRule(new NumericPrecisionRule('testfield', 3, 2)); 50 51 $Data =& new DataSpace(); 52 $Data->set('testfield', 'not a number'); 53 54 $this->ErrorList->expectOnce('addError', array('validation', 'NOT_NUMERIC', array('Field'=>'testfield'), NULL)); 55 56 $this->validator->validate($Data); 57 $this->assertFalse($this->validator->IsValid()); 58 } 59 function testNumericRuleTooManyWholeDigits() { 60 // I don't know why this fails? 61 $this->validator->addRule(new NumericPrecisionRule('testfield', 3, 2)); 62 63 $Data =& new DataSpace(); 64 $Data->set('testfield', '1111'); 65 66 $this->ErrorList->expectOnce('addError', array('validation', 'TOO_MANY_WHOLE_DIGITS', array('Field'=>'testfield'), array('maxdigits'=>3, 'digits'=>4))); 67 68 $this->validator->validate($Data); 69 $this->assertFalse($this->validator->IsValid()); 70 } 71 function testNumericRuleTooManyDecimalDigits() { 72 // I don't know why this fails? 73 $this->validator->addRule(new NumericPrecisionRule('testfield', 3, 2)); 74 75 $Data =& new DataSpace(); 76 $Data->set('testfield', '111.222'); 77 78 $this->ErrorList->expectOnce('addError', array('validation', 'TOO_MANY_DECIMAL_DIGITS', array('Field'=>'testfield'), array('maxdigits'=>2, 'digits'=>3))); 79 80 $this->validator->validate($Data); 81 $this->assertFalse($this->validator->IsValid()); 82 } 83 } 84 85 class NumericRangeRuleTestCase extends SingleFieldRuleTestCase { 86 function NumericRangeRuleTestCase($name = 'NumericRangeRuleTestCase') { 87 $this->UnitTestCase($name); 88 } 89 function testNumericRangeRule() { 90 $this->validator->addRule(new NumericRangeRule('testfield', 1, 100)); 91 92 $Data =& new DataSpace(); 93 $Data->set('testfield', '50'); 94 95 $this->ErrorList->expectNever('addError'); 96 97 $this->validator->validate($Data); 98 $this->assertTrue($this->validator->IsValid()); 99 } 100 function testNumericRangeRuleBlank() { 101 $this->validator->addRule(new NumericRangeRule('testfield', 1, 100)); 102 103 $Data =& new DataSpace(); 104 $Data->set('testfield', ''); 105 106 $this->ErrorList->expectNever('addError'); 107 108 $this->validator->validate($Data); 109 $this->assertTrue($this->validator->IsValid()); 110 } 111 function testNumericRangeRuleTooBig() { 112 $this->validator->addRule(new NumericRangeRule('testfield', 1, 100)); 113 114 $Data =& new DataSpace(); 115 $Data->set('testfield', '101'); 116 117 $this->ErrorList->expectOnce('addError', array('validation', 'RANGE_TOO_BIG', array('Field'=>'testfield'), array('max'=>100))); 118 119 $this->validator->validate($Data); 120 $this->assertFalse($this->validator->IsValid()); 121 } 122 function testNumericRangeRuleTooSmall() { 123 $this->validator->addRule(new NumericRangeRule('testfield', 1, 100)); 124 125 $Data =& new DataSpace(); 126 $Data->set('testfield', '0'); 127 128 $this->ErrorList->expectOnce('addError', array('validation', 'RANGE_TOO_SMALL', array('Field'=>'testfield'), array('min'=>1))); 129 130 $this->validator->validate($Data); 131 $this->assertFalse($this->validator->IsValid()); 132 } 133 function testNumericRangeRuleTooSmallZero() { 134 $this->validator->addRule(new NumericRangeRule('testfield', 1, 100)); 135 136 $Data =& new DataSpace(); 137 $Data->set('testfield', 0); 138 139 $this->ErrorList->expectOnce('addError', array('validation', 'RANGE_TOO_SMALL', array('Field'=>'testfield'), array('min'=>1))); 140 141 $this->validator->validate($Data); 142 $this->assertFalse($this->validator->IsValid()); 143 } 144 function testNumericRangeRuleFloat() { 145 $this->validator->addRule(new NumericRangeRule('testfield', .25, .75)); 146 147 $Data =& new DataSpace(); 148 $Data->set('testfield', '.50'); 149 150 $this->ErrorList->expectNever('addError'); 151 152 $this->validator->validate($Data); 153 $this->assertTrue($this->validator->IsValid()); 154 } 155 function testNumericRangeRuleTooBigFloat() { 156 $this->validator->addRule(new NumericRangeRule('testfield', .25, .75)); 157 158 $Data =& new DataSpace(); 159 $Data->set('testfield', '.90'); 160 161 $this->ErrorList->expectOnce('addError', array('validation', 'RANGE_TOO_BIG', array('Field'=>'testfield'), array('max'=>.75))); 162 163 $this->validator->validate($Data); 164 $this->assertFalse($this->validator->IsValid()); 165 } 166 function testNumericRangeRuleTooSmallFloat() { 167 $this->validator->addRule(new NumericRangeRule('testfield', .25, .75)); 168 169 $Data =& new DataSpace(); 170 $Data->set('testfield', '.10'); 171 172 $this->ErrorList->expectOnce('addError', array('validation', 'RANGE_TOO_SMALL', array('Field'=>'testfield'), array('min'=>.25))); 173 174 $this->validator->validate($Data); 175 $this->assertFalse($this->validator->IsValid()); 176 } 177 } 178 179 180 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 28 19:36:09 2004 | Cross-referenced by PHPXref 0.5 |