<?php
class CustomValidator extends SimpleValidator\Validator {
public static function trueStaticRule($input) {
return true;
}
public static function falseStaticRule($input) {
return false;
}
public function trueRule($input) {
return true;
}
public static function testParamStaticRule($input, $param) {
return true;
}
public function testParamRule($input, $param) {
return true;
}
public static function multipleParams($input, $param1, $param2, $param3) {
if (($param1 == 1) && ($param2 == 2) && ($param3 == 3))
return true;
return false;
}
}
class ExtendedClassTest extends PHPUnit_Framework_TestCase {
public function testValidButNonStaticMethodRule() {
$rules = array(
'name' => array(
'trueRule'
)
);
try {
CustomValidator::validate(null, $rules);
} catch (SimpleValidator\SimpleValidatorException $e) {
if ($e->getCode() == SimpleValidator\SimpleValidatorException::STATIC_METHOD)
return;
else
$this->fail("Wrong Exception Code: " . $e->getCode());
}
$this->fail("Could not catched Exception");
}
public function testValidAndStaticMethodRule() {
$rules = array(
'name' => array(
'trueStaticRule'
)
);
try {
$validation_result = CustomValidator::validate(null, $rules);
$this->assertTrue($validation_result->isSuccess());
} catch (SimpleValidator\SimpleValidatorException $e) {
$this->fail("Exception occured: " . $e->getMessage());
}
return;
}
public function testInValidAndStaticMethodRule() {
$rules = array(
'name' => array(
'falseStaticRule'
)
);
try {
$validation_result = CustomValidator::validate(null, $rules);
$this->assertFalse($validation_result->isSuccess());
} catch (SimpleValidator\SimpleValidatorException $e) {
$this->fail("Exception occured: " . $e->getMessage());
}
return;
}
public function testValidAndParamStaticMethodRule() {
$rules = array(
'name' => array(
'testParamStaticRule(test)'
)
);
try {
$validation_result = CustomValidator::validate(null, $rules);
$this->assertTrue($validation_result->isSuccess());
} catch (SimpleValidator\SimpleValidatorException $e) {
$this->fail("Exception occured: " . $e->getMessage());
}
return;
}
public function testValidParamButNonStaticMethodRule() {
$rules = array(
'name' => array(
'testParamRule(test)'
)
);
try {
CustomValidator::validate(null, $rules);
} catch (SimpleValidator\SimpleValidatorException $e) {
if ($e->getCode() == SimpleValidator\SimpleValidatorException::STATIC_METHOD)
return;
else
$this->fail("Wrong Exception Code: " . $e->getCode());
}
$this->fail("Could not catched Exception");
}
public function testValidMultipleParams() {
$rules = array(
'name' => array(
'multipleParams(1,2,3)'
)
);
$validation = CustomValidator::validate(null, $rules);
$this->assertTrue($validation->isSuccess());
}
public function testInvalidMultipleParams() {
$rules = array(
'name' => array(
'multipleParams(3,2,1)'
)
);
$validation = CustomValidator::validate(null, $rules);
$this->assertFalse($validation->isSuccess());
}
}
?>
|