Olá 
[color=red]Métodos:
public boolean isValid()
Retorna true caso o dv armazenado na instância esteja correto, dado o valor da base e o algoritmo de cálculo do dv para um CPF.
Devem ser fornecidos ainda os métodos equals, hashCode e toString, segundo a semântica definida por java.lang.Object. O Método toString deve retornar o número de CPF com um único traço “-” separando a base e o dv.
Use os casos de teste fornecidos em CPFTest para validar a funcionalidade da classe. Não modifique estes casos de teste, caso contrário seu programa não será aceito.[/color]
[color=#444444]O esqueleto incial é este:
public class CPF {
private String base;
private String dv;
public boolean isValid() {
return false;
}
}[/color]
[color=red] E o cenário de teste é este:[/color]
import junit.framework.TestCase;
public class CPFTest extends TestCase {
String cpfsValidos[][] = {{ “486697056”, “13” }, { “573649556”, “23” }, { “482431485”, “23”}, {“039257713”, “52”}};
String cpfsInvalidos[][] = {{ “566797056”, “13” }, { “123955526”, “34” }, { “124543145”, “03”}, {“384416712”, “93”}};
public void testCPFsValidos() {
for (String[] cpfString : cpfsValidos) {
CPF cpf = new CPF(cpfString[0], cpfString[1]);
assertEquals(cpf.getBase(), cpfString[0]);
assertEquals(cpf.getDv(), cpfString[1]);
assertTrue(cpf.isValid());
}
}
public void testCPFsInvalidos() {
for (String[] cpfString : cpfsInvalidos) {
new CPF(cpfString[0], cpfString[1]);
CPF cpf = new CPF(cpfString[0], cpfString[1]);
assertEquals(cpf.getBase(), cpfString[0]);
assertEquals(cpf.getDv(), cpfString[1]);
assertFalse(cpf.isValid());
}
}
public void testValidCPFComPrimeiroDigitoVerificadorIgualADez() {
CPF cpf = new CPF("328160232", "06");
assertTrue(cpf.isValid());
}
public void testValidCPFComSegundoDigitoVerificadorIgualADez() {
CPF cpf = new CPF("551783744", "10");
assertTrue(cpf.isValid());
}
public void testToStringCPF() {
for (String[] cpfString : cpfsValidos) {
CPF cpfObject = new CPF(cpfString[0], cpfString[1]);
assertEquals(cpfString[0] + "-" + cpfString[1], cpfObject.toString());
}
}
public void testCPFIguais(){
for (String[] cpfString : cpfsValidos) {
CPF cpf = new CPF(cpfString[0], cpfString[1]);
CPF cpf2 = new CPF(cpfString[0], cpfString[1]);
assertTrue(cpf.equals(cpf2));
assertEquals(cpf.hashCode(), cpf2.hashCode());
}
}
public void testCPFDiferentes(){
for (int i = 0; i < cpfsValidos.length - 1; i++) {
CPF cpf = new CPF(cpfsValidos[i][0], cpfsValidos[i][1]);
CPF cpf2 = new CPF(cpfsValidos[i+1][0], cpfsValidos[i+1][1]);
assertFalse(cpf.equals(cpf2));
assertTrue(cpf.hashCode() != cpf2.hashCode());
}
}
}
[color=red]Alguem ae pode me ajuda, nao estou conseguindo sair do chao para fazer isto.
[/color]
Obs. Não posso modificar o cenario de teste, somente é autorizado mecher no “esqueleto inicial”.
Um Abraço e Obrigado.