public void DependenciaConcretaSelada() { // arrange var retornosEsperados = GerarRetornos(); var parametros = retornosEsperados.Select(x => x.Valor).ToArray(); //codigo gera erro por metodo não permitir sobreescrita //var mockDependencia = new Mock<DependenciaConcretaSelada>(); //foreach (var esperado in retornosEsperados) // mockDependencia.Setup(x => x.Execute(esperado.Valor)).Returns(esperado); var dependenciaNaoMocavel = new DependenciaConcretaSelada(); var sut = new SistemaSobTesteDependenteDeConcretaSelada(dependenciaNaoMocavel); // act var resultado = sut.MetodoTestado(parametros) as List <Retorno>; // assert Assert.NotNull(resultado); Assert.IsType <List <Retorno> >(resultado); Assert.True(resultado.Count == retornosEsperados.Length); Assert.True(resultado.Select(x => x.Valor).Distinct().Count() == parametros.Distinct().Count()); foreach (var item in resultado) { Assert.Contains(item, retornosEsperados); // assert vai falhar Assert.Contains <Retorno>(retornosEsperados, i => i.Valor == item.Valor); } }
public SistemaSobTesteDependenteDeConcretaSelada(DependenciaConcretaSelada dependencia) : base(dependencia) { }