Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro no terceiro teste persiste após retirada do "else"

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.

5 respostas
solução!

Fala aí Clarisse, tudo bem? Olhando o seu código, parece estar ok, consegue me mandar o erro que está dando?

Os testes que eu fiz no código, deram certo, ele pega o maior e menor valor do array de forma correta.

Espero ter ajudado.

Matheus,

segue o erro:

Matheus,

segue o erro:

MaiorEMenor deve entender numeros em ordem decrescente
Expected 5e-324 to equal 8.
Error: Expected 5e-324 to equal 8.
    at stack (file:///C:/Users/Pantufa/cursos/jasmine/lib/jasmine-2.0.0/jasmine.js:1293:17)
    at buildExpectationResult (file:///C:/Users/Pantufa/cursos/jasmine/lib/jasmine-2.0.0/jasmine.js:1270:14)
    at Spec.expectationResultFactory (file:///C:/Users/Pantufa/cursos/jasmine/lib/jasmine-2.0.0/jasmine.js:484:18)
    at Spec.addExpectationResult (file:///C:/Users/Pantufa/cursos/jasmine/lib/jasmine-2.0.0/jasmine.js:260:46)
    at Expectation.addExpectationResult (file:///C:/Users/Pantufa/cursos/jasmine/lib/jasmine-2.0.0/jasmine.js:442:21)
    at Expectation.toEqual (file:///C:/Users/Pantufa/cursos/jasmine/lib/jasmine-2.0.0/jasmine.js:1209:12)
    at Object.<anonymous> (file:///C:/Users/Pantufa/cursos/jasmine/spec/MaiorEMenorSpec.js:31:33)
    at attemptSync (file:///C:/Users/Pantufa/cursos/jasmine/lib/jasmine-2.0.0/jasmine.js:1510:12)
    at QueueRunner.run (file:///C:/Users/Pantufa/cursos/jasmine/lib/jasmine-2.0.0/jasmine.js:1498:9)
    at QueueRunner.execute (file:///C:/Users/Pantufa/cursos/jasmine/lib/jasmine-2.0.0/jasmine.js:1485:10)

Estou usando a versão indicada pelo instrutor, será que é um problema de versão?Ele não gera nenhum erro de console...

Achei meu erro.... estava corrigindo o arquivo errado (shame on me)

Fico feliz que tenha conseguido resolver.

Obs: Estou respondendo só agora pois tive problemas com o email.

Abraços e bons estudos.