Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

TDD C# Aula 2/12 Testes do filtro

Pessoal, o método Filtro de lances tem o seguinte corpo:

public IList<Lance> Filtra(IList<Lance> lances)
    {
        IList<Lance> resultado = new List<Lance>();

        foreach (Lance lance in lances)
        {
            if (lance.Valor > 1000 && lance.Valor < 3000)
                resultado.Add(lance);
            else if (lance.Valor > 500 && lance.Valor < 700)
                resultado.Add(lance);
            else if (lance.Valor > 5000)
                resultado.Add(lance);
        }

        return resultado;
    }

a resposta sugeria testes DeveEliminarMenoresQue500 e DeveEliminarEntre3000E5000

porque escrever esses testes se o meu metodo só adiciona em uma lista de resultado ?

1 resposta
solução!

Oi Ronney, tudo bom?

A ideia é garantir que, por exemplo, ao passar um valor menor que 500 o lance não caia em nenhum dos nossos ifs.

Ou seja, garantir que não vamos cair em nenhum desses casos:

if (lance.Valor > 1000 && lance.Valor < 3000)
                resultado.Add(lance);
            else if (lance.Valor > 500 && lance.Valor < 700)
                resultado.Add(lance);
            else if (lance.Valor > 5000)
                resultado.Add(lance);

A mesma ideia se repete para o teste entre 3000 e 5000. Acima de 5000 sempre vai cair no:

            else if (lance.Valor > 5000)

Qualquer problema é só falar.

Abraço!