Seguindo a orientação da aula criei o arquivo Maior e Menor e efetuei os testes. Contudo, mesmo retirando o else do código original (tentei escrevendo o código na mão e depois copiando do exercício) o teste de ordem decrescente falha. Estou um tanto enferrujada no js, onde foi que eu errei? Seguem meus códigos...
function MaiorEMenor() {
var menor;
var maior;
var clazz = {
encontra : function(nums) {
menor = Number.MAX_VALUE;
maior = Number.MIN_VALUE;
nums.forEach(function(num) {
if(num < menor) menor = num;
if(num > maior) maior = num;
});
},
pegaMenor : function() { return menor; },
pegaMaior : function() { return maior; }
};
return clazz;
}
describe("MaiorEMenor", function(){
it("deve entender numeros em ordem nao sequencial", function(){
var algoritmo = new MaiorEMenor();
algoritmo.encontra([5,15,7,9]);
expect(algoritmo.pegaMaior()).toEqual(15);
expect(algoritmo.pegaMenor()).toEqual(5);
})
it("deve entender numeros em ordem crescente", function(){
var algoritmo = new MaiorEMenor();
algoritmo.encontra([1,2,3,4]);
expect(algoritmo.pegaMaior()).toEqual(4);
expect(algoritmo.pegaMenor()).toEqual(1);
});
it("deve entender numeros em ordem decrescente", function(){
var algoritmo = new MaiorEMenor();
algoritmo.encontra([8,7,6,5]);
expect(algoritmo.pegaMaior()).toEqual(8);
expect(algoritmo.pegaMenor()).toEqual(5);
});
});
`
Em tempo, o mesmo erro ocorre no teste de array com um único elemento.