package br.com.caelum.stella.formatter;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import br.com.caelum.stella.format.Formatter;
import br.com.caelum.stella.format.RenavamFormatter;
public class RenavamFormatterTest {
private final Formatter formatter = new RenavamFormatter();
@Test
public void shouldFormatAnUnformattedRenavam() {
String formattedRenavam = formatter.format("00736407677");
assertEquals("0073.640767-7", formattedRenavam);
}
@Test
public void shouldUnformatAFormattedRenavam() {
String unformattedRenavam = formatter.unformat("73.640767-7");
assertEquals("736407677", unformattedRenavam);
}
@Test
public void shouldVerifyIfAValueIsFormattedOrNot() throws Exception {
assertTrue(formatter.isFormatted("73.640767-7"));
assertTrue(formatter.isFormatted("0073.640767-7"));
assertFalse(formatter.isFormatted("736407677"));
assertFalse(formatter.isFormatted("73.x407a7-7"));
}
@Test
public void shouldVerifyIfAValueCanBeFormattedOrNot() throws Exception {
assertFalse(formatter.canBeFormatted("73.640767-7"));
assertFalse(formatter.canBeFormatted("0073.640767-7"));
assertTrue(formatter.canBeFormatted("736407677"));
assertTrue(formatter.canBeFormatted("00736407677"));
assertFalse(formatter.canBeFormatted("73.x407a7-7"));
}
}