const somaHorasExtras = (salario, valorHorasExtras) => salario + valorHorasExtras;
const calculaDescontos = (salario, descontos) => salario - descontos;
const verifiqueSe = (valor) => {
const assercoes = {
ehExatamenteIgualA(esperado) {
if (valor !== esperado) {
// eslint-disable-next-line no-throw-literal
throw {};
}
},
};
return assercoes;
};
const teste = (titulo, funcaoDeTeste) => {
try {
funcaoDeTeste();
console.log(`${titulo} passou!`);
} catch {
console.error(`${titulo} não passou!!!`);
}
};
teste('somaHorasExtras', () => {
const esperado = 2500;
const retornado = somaHorasExtras(2000, 500);
verifiqueSe(retornado).ehExatamenteIgualA(esperado);
});
teste('calculaDesconto', () => {
const esperado = 2300;
const retornado = calculaDescontos(2500, 200);
verifiqueSe(retornado).ehExatamenteIgualA(esperado);
});
const somaHorasExtras = (salario, valorHorasExtras) => salario + valorHorasExtras;
const calculaDescontos = (salario, descontos) => salario - descontos;
const teste = (titulo, esperado, retornado) => {
if (esperado === retornado) {
console.log(`${titulo} passou`);
} else {
console.error(`${titulo} não passou`);
}
};
teste('somaHorasExtras', 2500, somaHorasExtras(2000, 500));
teste('calculaDesconto', 2200, calculaDescontos(2500, 300));
Por que o primeiro jeito é melhor que o segundo se ambos fazem a mesma coisa? Qual a principal vantagem do primeiro jeito em relação ao segundo?