public TestResult testResult(Object input){
		TestResult result = new TestResult(false, "Parameter 'input' is null !");
		if(input == null) return result;
		//最先校验Required
		if(ruleConfigs.containsTester(Rule.Required)){
			Tester requiredTester = ruleConfigs.removeTester(Rule.Required);
			result = requiredTester.test(input);
		}

		//如果Required没有通过，则中断校验，返回结果。
		if( !result.passed ) return result;
		
		List<Tester> testers = ruleConfigs.getTesterChain();
		for(Tester tester : testers){
			Object[] args = null;
            if( !Rule.Custom.equals(tester.rule) ){
                ruleConfigs.getArgs(tester.rule);
            }
			result = tester.test(input, args);
			if( !result.passed ) break;
		}
		return result;
	}