@Test public void checkLongDef_whenValueIsCorrect_shouldProduceNoErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(String.class); assertThat(BaseValidator.checkLongDef(context, 10L, false, 10L).isEmpty()); }
@Test public void checkLongDef_whenValueMatchesSet_shouldProduceNoErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(String.class); assertThat(BaseValidator.checkLongDef(context, 10L, false, 10L, 11L, 12L, 13L).isEmpty()); }
@Test public void checkIntDef_whenValueIsCorrect_shouldProduceNoErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(String.class); assertThat(BaseValidator.checkIntDef(context, 10, false, 10).isEmpty()); }
@Test public void checkString_whenCollectionIsValid_shouldNotProduceErrors() { Collection<String> strings = new ArrayList<>(); BaseValidator.ValidationContext context = BaseValidator.getValidationContext(Object.class); strings.add("Valid1"); strings.add("Valid2"); strings.add("Valid3"); List<RaveError> errors = BaseValidator.checkStringDef(true, context, strings, "Valid1", "Valid2", "Valid3"); assertThat(errors).isEmpty(); errors = BaseValidator.checkStringDef(false, context, strings, "Valid1", "Valid2", "Valid3"); assertThat(errors).isEmpty(); }
@Test public void checkMapCollection_whenMapIsNotNull_shouldNotProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(HashMap.class); List<RaveError> errors = BaseValidator.checkNullable(new HashMap<>(), false, context); assertThat(errors).isNotNull(); assertThat(errors).isEmpty(); }
@Test public void checkString_whenStringIsNotNull_shouldProduceNoErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(String.class); List<RaveError> errors = BaseValidator.checkStringDef(true, context, (String) null, "Valid1", "Valid2", "Valid3"); assertThat(errors).hasSize(0); }
@Test public void checkString_whenStringIsNull_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(String.class); List<RaveError> errors = BaseValidator.checkStringDef(false, context, (String) null, "Valid1", "Valid2", "Valid3"); assertThat(errors).hasSize(1); assertThat(errors.get(0).toString().contains(RaveErrorStrings.NON_NULL_ERROR)).isTrue(); }
@Test public void checkNullableCollection_whenCollectionHas2InvalidObjects_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); List<SingleMethodSampleModel> list = new LinkedList<>(); list.add(new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1)); list.add(new SingleMethodSampleModel("lengthiseven", "Not matching the specified string defs")); List<RaveError> errors = BaseValidator.checkNullable(list, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(2); }
@Test public void checkisSizeOk_whenElementIsNull_shouldNotProduceErrors() { Object[] objects = new Objects[1]; objects[0] = null; BaseValidator.ValidationContext context = BaseValidator.getValidationContext(Object.class); List<RaveError> errors = BaseValidator.isSizeOk(objects, true, 1, 1, 1, context); assertThat(errors).isNotNull(); assertThat(errors).isEmpty(); }
@Test public void checkNullableArray_whenCollectionIsNotNull_shouldNotProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(Integer[].class); List<RaveError> errors = BaseValidator.checkNullable(new Integer[0], false, context); assertThat(errors).isNotNull(); assertThat(errors).isEmpty(); }
@Test public void checkNullableArray_whenCollectionIsNull_shouldNotProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(Integer[].class); List<RaveError> errors = BaseValidator.checkNullable((Integer[]) null, true, context); assertThat(errors).isNotNull(); assertThat(errors).isEmpty(); }
@Test public void checkNullableArray_whenCollectionIsNotNullAndIsNullable_shouldNotProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(Integer.class); List<RaveError> errors = BaseValidator.checkNullable(new Integer[0], true, context); assertThat(errors).isNotNull(); assertThat(errors).isEmpty(); }
@Test public void checkIntRange_whenValuesInRange_shouldReturnEmptyList() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(String.class); assertThat(BaseValidator.checkIntRange(context, 10, -1, 10).isEmpty()).isTrue(); assertThat(BaseValidator.checkIntRange(context, 10, -1, 11).isEmpty()).isTrue(); assertThat(BaseValidator.checkIntRange(context, -1, -1, 11).isEmpty()).isTrue(); }
@Test public void checkNullableMap_whenMapHasInvalidObjectAsKey_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); context.setValidatedItemName("getNotNullField()"); Map<SingleMethodSampleModel, Object> map = new HashMap<>(); map.put(new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1), new Object()); List<RaveError> errors = BaseValidator.checkNullable(map, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(1); RaveError expectedError = new RaveError(context, RaveErrorStrings.NON_NULL_ERROR); assertThat(errors.get(0).toString()).isEqualTo(expectedError.toString()); }
@Test public void checkString_whenArrayIsValid_shouldNotProduceErrors() { String[] strings = new String[] {"Valid1", "Valid2", "Valid3"}; BaseValidator.ValidationContext context = BaseValidator.getValidationContext(Object.class); List<RaveError> errors = BaseValidator.checkStringDef(true, context, strings, "Valid1", "Valid2", "Valid3"); assertThat(errors).isEmpty(); errors = BaseValidator.checkStringDef(false, context, strings, "Valid1", "Valid2", "Valid3"); assertThat(errors).isEmpty(); }
@Test public void checkNullableMap_whenMapKeyandValueAreInvalidObjects_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); context.setValidatedItemName("getNotNullField()"); SingleMethodSampleModel validSingle = new SingleMethodSampleModel("ab", SingleMethodSampleModel.MATCHED1); Map<SingleMethodSampleModel, SingleMethodSampleModel> map = new HashMap<>(); map.put(validSingle, new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1)); map.put(new SingleMethodSampleModel("lengthiseven", "Not matching the specified string defs"), validSingle); List<RaveError> errors = BaseValidator.checkNullable(map, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(2); }
@Test public void checkNullableCollection_whenCollectionHasInvalidObject_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(SingleMethodSampleModel.class); context.setValidatedItemName("getNotNullField()"); List<SingleMethodSampleModel> list = new LinkedList<>(); list.add(new SingleMethodSampleModel(null, SingleMethodSampleModel.MATCHED1)); List<RaveError> errors = BaseValidator.checkNullable(list, false, context); assertThat(errors).isNotNull(); assertThat(errors).hasSize(1); RaveError expectedError = new RaveError(context, RaveErrorStrings.NON_NULL_ERROR); assertThat(errors.get(0).toString()).isEqualTo(expectedError.toString()); }
@Test public void checkIntRange_whenValuesNotInFloatRange_shouldReturnError() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(String.class); assertThat(BaseValidator.checkFloatRange(context, -10d, -1d, 10d)).isNotEmpty(); assertThat(BaseValidator.checkFloatRange(context, 12d, -1d, 11d)).isNotEmpty(); List<RaveError> errors = BaseValidator.checkFloatRange(context, 12d, -1d, 11d); assertThat(errors).hasSize(1); assertThat(errors.get(0).getErrorMsg()).contains(RaveErrorStrings.FLOAT_RANGE_ERROR); }
@Test public void checkNullableCollection_whenCollectionIsNullButShouldntBe_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(Collection.class); List<RaveError> errors = BaseValidator.checkNullable((Collection<Object>) null, false, context); assertThat(errors).isNotNull(); RaveError expectedError = new RaveError(context, RaveErrorStrings.NON_NULL_ERROR); assertThat(errors).hasSize(1); assertThat(errors.get(0).toString()).isEqualTo(expectedError.toString()); }
@Test public void checkMustBeFalse_whenInvalidBoolean_shouldProduceErrors() { BaseValidator.ValidationContext context = BaseValidator.getValidationContext(Object.class); context.setValidatedItemName("someMethodName"); List<RaveError> errors = BaseValidator.mustBeFalse(true, context); assertThat(errors).isNotNull(); RaveError expectedError = new RaveError(context, RaveErrorStrings.MUST_BE_FALSE_ERROR); assertThat(errors).hasSize(1); assertThat(errors.get(0).toString()).isEqualTo(expectedError.toString()); }