Oi pessoal, no curso o instrutor usou Nunit e repetia o cenário de teste por diversas vezes (pelo menos até a parte que estou no curso). Eu estou usando um projeto de teste de unidade do próprio Visual Studio, tem algum problema? E também montei o cenário de forma que não preciso ficar repetindo o mesmo trecho de código a cada teste.
Gostaria que analisassem meu código e me falassem se estou fazendo de forma correta:
[TestClass]
public class TesteDoAvaliador
{
private Leilao leilao;
[TestInitialize]
public void Init()
{
this.leilao = new Leilao("Iphone 7");
this.PreencheCenario();
}
private void PreencheCenario()
{
List<Lance> lances = new List<Lance>
{
new Lance(new Usuario("Henrique"), 1000),
new Lance(new Usuario("Juliana"), 2000),
new Lance(new Usuario("Regina"), 3000),
};
lances.ForEach(lance => this.leilao.Propoe(lance));
}
[TestMethod]
public void MenorLance()
{
Avaliador avaliador = new Avaliador();
avaliador.Avalia(leilao);
Assert.AreEqual(1000, avaliador.MenorValor);
}
[TestMethod]
public void MaiorLance()
{
Avaliador avaliador = new Avaliador();
avaliador.Avalia(leilao);
Assert.AreEqual(3000, avaliador.MaiorValor);
}
[TestMethod]
public void MediaDeLances()
{
Avaliador avaliador = new Avaliador();
avaliador.Avalia(leilao);
Assert.AreEqual(2000, avaliador.MediaDeLances);
}
}