Modifiquei a classe que já havia criado neste curso para treinar a refatoração.
public class Carro {
private String marca;
private String cor;
private double velocidadeAtual;
public Carro(String marca, String cor, double velocidadeAtual) {
if (velocidadeAtual <= 0) {
throw new IllegalArgumentException("Digite uma velocidade atual maior que zero.");
}
this.marca = marca;
this.cor = cor;
this.velocidadeAtual = velocidadeAtual;
}
public double aumentaVelocidade(double velocidade) {
if (velocidade <= 0) {
throw new IllegalArgumentException("Aumente a velocidade com um valor maior que zero.");
}
return this.velocidadeAtual += velocidade;
}
public String getMarca() {
return marca;
}
public String getCor() {
return cor;
}
public double getVelocidadeAtual() {
return velocidadeAtual;
}
}
import static org.junit.Assert.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class CarroTest {
private Carro cr;
@BeforeEach
public void inicializar() {
cr = new Carro("Ford", "Preto", 80.0);
cr.aumentaVelocidade(30.0);
}
@Test
public void velocidadeMaximaPermitida() {
try {
assertNotEquals(120.0, cr.getVelocidadeAtual());
} catch (IllegalArgumentException er) {
assertEquals("Aumente a velocidade com um valor maior que zero.", er.getMessage());
}
}
@Test
public void velocidadeAcimaDoPermitido() {
try {
assertNotEquals(150.0, cr.getVelocidadeAtual());
} catch (IllegalArgumentException er) {
assertEquals("Aumente a velocidade com um valor maior que zero.", er.getMessage());
}
}
@Test
public void velocidadeAbaixoDaMedia() {
try {
assertNotEquals(60.0, cr.getVelocidadeAtual());
} catch (IllegalArgumentException er) {
assertEquals("Aumente a velocidade com um valor maior que zero.", er.getMessage());
}
}
}
Tudo certinho?