package br.com.caelum.stella.faces.validation;
import static org.junit.Assert.assertNotNull;
import java.util.Locale;
import java.util.ResourceBundle;
import org.junit.Test;
import br.com.caelum.stella.ResourceBundleMessageProducer;
import br.com.caelum.stella.validation.InvalidValue;
import br.com.caelum.stella.validation.error.CNPJError;
import br.com.caelum.stella.validation.error.CPFError;
import br.com.caelum.stella.validation.error.IEError;
import br.com.caelum.stella.validation.error.NITError;
/**
* @author Fabio Kung
*/
@SuppressWarnings({"rawtypes","unchecked"})
public class StellaMessagesTest {
private static final Class[] ERROR_CLASSES = { CNPJError.class, CPFError.class, IEError.class, NITError.class };
@Test
public void deveConterMensagensPadraoParaTodosOsErrosPossiveis() throws Exception {
Locale locale = new Locale("pt", "BR");
ResourceBundle messages = ResourceBundle.getBundle("StellaMessages", locale);
ResourceBundleMessageProducer producer = new ResourceBundleMessageProducer(messages);
for (Class c : ERROR_CLASSES) {
InvalidValue[] errors = (InvalidValue[]) c.getMethod("values").invoke(null);
for (InvalidValue error : errors) {
String errorKey = producer.messageKeyFor(locale, c, error);
assertNotNull(messages.getString(errorKey));
}
}
}
}