package br.com.concretesolutions.canarinho.test;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import br.com.concretesolutions.canarinho.formatador.Formatador;
import br.com.concretesolutions.canarinho.sample.BuildConfig;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.fail;
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 22)
public class TesteFormatadorCEP {
@Test
public void consegueFormatar() {
// Gerados automaticamente para testes
assertThat(Formatador.CEP.formata("00000-000"), is("00000-000"));
assertThat(Formatador.CEP.formata("00000000"), is("00000-000"));
assertThat(Formatador.CEP.formata("12345-123"), is("12345-123"));
assertThat(Formatador.CEP.formata("12345678"), is("12345-678"));
assertThrowsFormat("");
assertThrowsFormat("123123");
}
@Test
public void consegueDesformatar() {
// Gerados automaticamente para testes
assertThat(Formatador.CEP.desformata("00000-000"), is("00000000"));
assertThat(Formatador.CEP.desformata("00000000"), is("00000000"));
assertThat(Formatador.CEP.desformata("12345-123"), is("12345123"));
assertThat(Formatador.CEP.desformata("12345678"), is("12345678"));
assertThrowsDesformat("");
assertThrowsDesformat("123123");
}
@Test
public void consegueDizerSeEstaFormatado() {
// Gerados automaticamente para testes
assertThat(Formatador.CEP.estaFormatado("12345-678"), is(true));
assertThat(Formatador.CEP.estaFormatado("12345678"), is(false));
assertThat(Formatador.CEP.estaFormatado("00000-000"), is(true));
assertThat(Formatador.CEP.estaFormatado("12345-67"), is(false));
assertThat(Formatador.CEP.estaFormatado("047486"), is(false));
assertThat(Formatador.CEP.estaFormatado(""), is(false));
try {
Formatador.CEP.estaFormatado(null);
fail("Should have thrown!!!");
} catch (IllegalArgumentException e) {
}
}
@Test
public void consegueDizerSePodeFormatar() {
// Gerados automaticamente para testes
assertThat(Formatador.CEP.podeSerFormatado("12345-678"), is(false));
assertThat(Formatador.CEP.podeSerFormatado("12345678"), is(true));
assertThat(Formatador.CEP.podeSerFormatado("020"), is(false));
assertThat(Formatador.CEP.podeSerFormatado(""), is(false));
assertThat(Formatador.CEP.podeSerFormatado(null), is(false));
}
private void assertThrowsFormat(String valor) {
try {
Formatador.CEP.formata(valor);
fail("Deveria ter jogado exceção!!!");
} catch (IllegalArgumentException e) {
}
}
private void assertThrowsDesformat(String valor) {
try {
Formatador.CEP.desformata(valor);
fail("Deveria ter jogado exceção!!!");
} catch (IllegalArgumentException e) {
}
}
}