package com.vaadin.data.validator; import java.util.Locale; import org.junit.Assert; import org.junit.Before; import com.vaadin.data.ValidationResult; import com.vaadin.data.Validator; import com.vaadin.data.ValueContext; import com.vaadin.ui.Label; public class ValidatorTestBase { private Label localeContext; @Before public void setUp() { localeContext = new Label(); setLocale(Locale.US); } protected <T> void assertPasses(T value, Validator<? super T> validator) { ValidationResult result = validator.apply(value, new ValueContext()); if (result.isError()) { Assert.fail(value + " should pass " + validator + " but got " + result.getErrorMessage()); } } protected <T> void assertFails(T value, String errorMessage, Validator<? super T> validator) { ValidationResult result = validator.apply(value, new ValueContext(localeContext)); Assert.assertTrue(result.isError()); Assert.assertEquals(errorMessage, result.getErrorMessage()); } protected <T> void assertFails(T value, AbstractValidator<? super T> v) { assertFails(value, v.getMessage(value), v); } protected void setLocale(Locale locale) { localeContext.setLocale(locale); } }