/** * {@inheritDoc} */ @Override protected void compare(SingleProperty<? extends T> property, T value, T against, PropertyValidation propertyValidation) { if (!matches(value, against)) { ValidationError validationError = new ValidationError(Collections.<SingleProperty<?>> singletonList(property), "Value of property '" + property.getName() + "' must be greater than " + against); propertyValidation.addValidationError(validationError); } }
/** * {@inheritDoc} */ @Override protected void compare(SingleProperty<? extends T> property, SingleProperty<? extends T> againstProperty, T value, T against, PropertyValidation propertyValidation) { if (!matches(value, against)) { List<SingleProperty<?>> properties = new ArrayList<>(2); properties.add(property); properties.add(againstProperty); ValidationError validationError = new ValidationError(properties, "Value of property '" + property.getName() + "' must be less than value of property '" + againstProperty.getName() + "'"); propertyValidation.addValidationError(validationError); } }
/** * {@inheritDoc} */ @Override protected void compare(SingleProperty<? extends T> property, SingleProperty<? extends T> againstProperty, T value, T against, PropertyValidation propertyValidation) { if (!matches(value, against)) { List<SingleProperty<?>> properties = new ArrayList<>(2); properties.add(property); properties.add(againstProperty); ValidationError validationError = new ValidationError(properties, "Value of property '" + property.getName() + "' must be greater or equal than value of property '" + againstProperty.getName() + "'"); propertyValidation.addValidationError(validationError); } }
/** * {@inheritDoc} */ @Override protected void compare(SingleProperty<? extends T> property, T value, T against, PropertyValidation propertyValidation) { if (!matches(value, against)) { ValidationError validationError = new ValidationError(Collections.<SingleProperty<?>> singletonList(property), "Value of property '" + property.getName() + "' must be less than " + against); propertyValidation.addValidationError(validationError); } }
/** * {@inheritDoc} */ @Override protected void compare(SingleProperty<? extends T> property, T value, T against, PropertyValidation propertyValidation) { if (!matches(value, against)) { ValidationError validationError = new ValidationError(Collections.<SingleProperty<?>> singletonList(property), "Value of property '" + property.getName() + "' must be less or equal than " + against); propertyValidation.addValidationError(validationError); } }
/** * {@inheritDoc} */ @Override protected void compare(SingleProperty<? extends T> property, SingleProperty<? extends T> againstProperty, T value, T against, PropertyValidation propertyValidation) { if (!matches(value, against)) { List<SingleProperty<?>> properties = new ArrayList<>(2); properties.add(property); properties.add(againstProperty); ValidationError validationError = new ValidationError(properties, "Value of property '" + property.getName() + "' must be less or equal than value of property '" + againstProperty.getName() + "'"); propertyValidation.addValidationError(validationError); } }
/** * {@inheritDoc} */ @Override protected void compare(SingleProperty<? extends T> property, T value, T against, PropertyValidation propertyValidation) { if (!matches(value, against)) { ValidationError validationError = new ValidationError(Collections.<SingleProperty<?>> singletonList(property), "Value of property '" + property.getName() + "' must be greater or equal than " + against); propertyValidation.addValidationError(validationError); } }
/** * {@inheritDoc} */ @Override protected void compare(SingleProperty<? extends T> property, SingleProperty<? extends T> againstProperty, T value, T against, PropertyValidation propertyValidation) { if (!matches(value, against)) { List<SingleProperty<?>> properties = new ArrayList<>(2); properties.add(property); properties.add(againstProperty); ValidationError validationError = new ValidationError(properties, "Value of property '" + property.getName() + "' must be greater than value of property '" + againstProperty.getName() + "'"); propertyValidation.addValidationError(validationError); } }
@Override public Object answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); PropertyValidation propertyValidation = (PropertyValidation) args[1]; propertyValidation.addValidationError(new ValidationError(Collections.<SingleProperty<?>> singletonList(singleProperty), validationMsg)); return null; } }).when(validator1).validate(eq(singleProperty), Matchers.<PropertyValidation> anyObject());
@Override public Object answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); PropertyValidation propertyValidation = (PropertyValidation) args[0]; propertyValidation.addValidationError(new ValidationError()); return null; } }).when(singleProperty1).validate(Matchers.<PropertyValidation> anyObject());
@Override public Object answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); PropertyValidation propertyValidation = (PropertyValidation) args[0]; propertyValidation.addValidationError(new ValidationError()); return null; } }).when(singleProperty1).validate(Matchers.<PropertyValidation> anyObject());
@Override public Object answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); PropertyValidation propertyValidation = (PropertyValidation) args[1]; propertyValidation.addValidationError(new ValidationError()); return null; } }).when(validator1).validate(eq(groupedProperty), Matchers.<PropertyValidation> anyObject());
@Test public void validatorIsPositive() { when(singleProperty.getLogicalName()).thenReturn("my.property"); PositiveValidator<Number> validator = new PositiveValidator<>(); when(singleProperty.getValue()).thenReturn(Integer.valueOf(10)); validator.validate(singleProperty, propertyValidation); verifyZeroInteractions(propertyValidation); when(singleProperty.getValue()).thenReturn(Integer.valueOf(-10)); validator.validate(singleProperty, propertyValidation); verify(propertyValidation, times(1)).addValidationError(Matchers.<ValidationError> anyObject()); }
@Test public void validatorIsNegative() { when(singleProperty.getLogicalName()).thenReturn("my.property"); NegativeValidator<Number> validator = new NegativeValidator<>(); when(singleProperty.getValue()).thenReturn(Integer.valueOf(-10)); validator.validate(singleProperty, propertyValidation); verifyZeroInteractions(propertyValidation); when(singleProperty.getValue()).thenReturn(Integer.valueOf(10)); validator.validate(singleProperty, propertyValidation); verify(propertyValidation, times(1)).addValidationError(Matchers.<ValidationError> anyObject()); }
@Test public void validatorIsGreaterThanOrEqual() { when(singleProperty.getValue()).thenReturn(Integer.valueOf(10)); when(singleProperty.getLogicalName()).thenReturn("my.property"); GreaterOrEqualValidator<Number> validator = new GreaterOrEqualValidator<>(); when(singleProperty.parseLiteral(null)).thenReturn(9, 10, 11); validator.validate(singleProperty, propertyValidation); verifyZeroInteractions(propertyValidation); validator.validate(singleProperty, propertyValidation); validator.validate(singleProperty, propertyValidation); verify(propertyValidation, times(1)).addValidationError(Matchers.<ValidationError> anyObject()); }
@Test public void validatorIsNotEmpty() { when(singleProperty.getLogicalName()).thenReturn("my.property"); NotEmptyValidator<Object> validator = new NotEmptyValidator<>(); when(singleProperty.getValue()).thenReturn("Some string"); verifyZeroInteractions(propertyValidation); when(singleProperty.getValue()).thenReturn(""); validator.validate(singleProperty, propertyValidation); when(singleProperty.getValue()).thenReturn(Collections.emptyList()); validator.validate(singleProperty, propertyValidation); when(singleProperty.getValue()).thenReturn(Collections.emptyMap()); validator.validate(singleProperty, propertyValidation); verify(propertyValidation, times(3)).addValidationError(Matchers.<ValidationError> anyObject()); }
@Test public void validatorIsLessThan() { when(singleProperty.getValue()).thenReturn(Integer.valueOf(10)); when(singleProperty.getLogicalName()).thenReturn("my.property"); LessValidator<Number> validator = new LessValidator<>(); when(singleProperty.parseLiteral(null)).thenReturn(11, 10, 9); validator.validate(singleProperty, propertyValidation); verifyZeroInteractions(propertyValidation); validator.validate(singleProperty, propertyValidation); validator.validate(singleProperty, propertyValidation); verify(propertyValidation, times(2)).addValidationError(Matchers.<ValidationError> anyObject()); }
@Test public void validatorIsLessThanOrEqual() { when(singleProperty.getValue()).thenReturn(Integer.valueOf(10)); when(singleProperty.getLogicalName()).thenReturn("my.property"); LessOrEqualValidator<Number> validator = new LessOrEqualValidator<>(); when(singleProperty.parseLiteral(null)).thenReturn(11, 10, 9); validator.validate(singleProperty, propertyValidation); validator.validate(singleProperty, propertyValidation); verifyZeroInteractions(propertyValidation); validator.validate(singleProperty, propertyValidation); verify(propertyValidation, times(1)).addValidationError(Matchers.<ValidationError> anyObject()); }
@Test public void validatorIsGreaterThan() { when(singleProperty.getValue()).thenReturn(Integer.valueOf(10)); when(singleProperty.getLogicalName()).thenReturn("my.property"); GreaterValidator<Number> validator = new GreaterValidator<>(); when(singleProperty.parseLiteral(null)).thenReturn(9, 10, 11); validator.validate(singleProperty, propertyValidation); verifyZeroInteractions(propertyValidation); validator.validate(singleProperty, propertyValidation); validator.validate(singleProperty, propertyValidation); verify(propertyValidation, times(2)).addValidationError(Matchers.<ValidationError> anyObject()); }
@Test public void validatorIsFullyQualifiedClassName() { SingleProperty<String> singleProperty = mock(SingleProperty.class); when(singleProperty.getLogicalName()).thenReturn("my.property"); FullyQualifiedClassNameValidator validator = new FullyQualifiedClassNameValidator(); when(singleProperty.getValue()).thenReturn(getClass().getName()); validator.validate(singleProperty, propertyValidation); verifyZeroInteractions(propertyValidation); // test not FQN when(singleProperty.getValue()).thenReturn("package,Class"); validator.validate(singleProperty, propertyValidation); when(singleProperty.getValue()).thenReturn("1canot.start.with.Number"); validator.validate(singleProperty, propertyValidation); verify(propertyValidation, times(2)).addValidationError(Matchers.<ValidationError> anyObject()); }