### Question:
CannedPropertyValidators { public static StringPropertyValidationRules variableValidator() { return new StringPropertyValidationRules(true, 32); }  static BooleanPropertyValidationRules boolValidator(); static PinPropertyValidationRules pinValidator(); static PinPropertyValidationRules optPinValidator(); static IntegerPropertyValidationRules uintValidator(int max); static StringPropertyValidationRules variableValidator(); static StringPropertyValidationRules textValidator(); static ChoicesPropertyValidationRules choicesValidator(Collection<String> values); static MenuItemValidationRules menuItemValidatorForAllItems(); static MenuItemValidationRules menuItemValidatorForSpecifcType(Class<? extends MenuItem> cls);  }### Answer:
@Test public void testVariableValidator() { StringPropertyValidationRules validator = CannedPropertyValidators.variableValidator(); assertFalse(validator.hasChoices()); assertThat(validator.choices()).isEmpty(); assertTrue(validator.isValueValid("")); assertTrue(validator.isValueValid("variable_name01")); assertFalse(validator.isValueValid("Invalid Space")); assertFalse(validator.isValueValid("invalid_because_text_is_too_long_for_the_field")); }