public class Funcionario {
private String nome;
private String cpf;
private Double salario;
public Funcionario(String nome, String cpf, Double salario) {
this.nome = nome;
this.cpf = cpf;
this.salario = salario;
}
public double getBonificacao() {
return this.salario * 0.1;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public Double getSalario() {
return salario;
}
public void setSalario(Double salario) {
this.salario = salario;
}
}
import org.junit.Assert; import org.junit.Test;
public class FuncionarioTest {
@Test
public void deveCriarUmFuncionario() {
Funcionario barbara = new Funcionario("Barbara", "222222222-09", Double.valueOf(2000.0));
Assert.assertEquals("Barbara", barbara.getNome());
Assert.assertEquals("222222222-09", barbara.getCpf());
Assert.assertEquals(Double.valueOf(2000.0), barbara.getSalario());
//Assert.assertEquals(Double.valueOf(200.0), barbara.getBonificacao());
System.out.println(barbara.getBonificacao());
}
}
public class Gerente extends Funcionario{
private int senha = 1234;
public Gerente(String nome, String cpf, Double salario) {
super(nome, cpf, salario);
this.senha = senha;
}
public int getSenha() {
return senha;
}
public boolean autentica(int senha) {
if (this.senha == senha) {
return true;
} else {
return false;
}
}
}
import org.junit.Assert; import org.junit.Test;
public class GerenteTest {
@Test
public void deveCriarUmGerente() {
Gerente luis = new Gerente("Luis", "222222222-09", Double.valueOf(5000.0));
boolean autenticou = luis.autentica(1234);
Assert.assertEquals("Luis", luis.getNome());
Assert.assertEquals("222222222-09", luis.getCpf());
Assert.assertEquals(Double.valueOf(5000.0), luis.getSalario());
Assert.assertEquals(true, luis.autentica(1234));
}
}
Na classe FuncionarioTest, porque da o erro <The method assertEquals(Object, Object) is ambiguous for the type Assert> ao fazer o Assert comentado?
Na classe GerenteTest, esta correto passar os parâmetros?
Porque na classe Gerente que estende(herda) a classe funcionário, eu preciso ter os parâmetros nome, cpf e salario, igual esta no super?