public static IEnumerable <object[]> CenariosComDescontoMaiorQueValorBruto() { List <object[]> casos = new List <object[]>(); Dinheiro zero = Dinheiro.Zero; try { IFechamentoDeRemuneracao fechamentoAlvo = LOMock.ConfiguraFechamento(LOMock.ID_FECHAMENTO_MOCK, LOMock.ID_FAVORECIDO, Dinheiro.EmReais(200), Dinheiro.EmReais(200)); var caso1 = new object[] { fechamentoAlvo, zero, zero }; var caso2 = new object[] { fechamentoAlvo, Dinheiro.EmReais(100), zero }; var caso3 = new object[] { fechamentoAlvo, Dinheiro.EmReais(300), zero }; casos.Add(caso1); casos.Add(caso2); casos.Add(caso3); } catch (Exception ex) { throw ex; } //Nao permitir casos zerados return(casos.Where(caso => (!caso[1].Equals(zero) || !caso[2].Equals(zero)) && ((IFechamentoDeRemuneracao)caso[0]).ValorBruto < (Dinheiro)caso[1])); }