public void TestValidarEmprestimoSuperior() { var conta = new Conta.Conta("001", 100); var mock = new Mock <IValidadorCredito>(); conta.setValidadorCredito(mock.Object); bool resultado = conta.SolicitarEmprestimo(1200); mock.Verify(x => x.ValidarCredito(It.IsAny <string>(), It.IsAny <decimal>()), Times.Never);//verificar se o metodo será executado. Neste caso não o metodo ValidarCredito não será validado visto que o valor informado(1200) é dez vezes superior ao valor actual da conta do cliente }
static void Main(string[] args) { try { Conta.Conta c = new Conta.Conta("8547-8", "74859-X", 2000); c.depositar(500); c.sacar(1000); c.depositar(200); c.sacar(300); Console.WriteLine("Arquivo para visualizar Conta: " + c.visualizarSaldo()); Console.ReadKey(); } catch (Exception ex) { throw ex; } }
public void testSolicitarEmprestimo() { var conta = new Conta.Conta("001", 500); //conta.setValidadorCredito(new ValidadorCreditoFake());//nosso objecto falso para a classe a ser usada para validar o credito var mock = new Mock <IValidadorCredito>(); //criamos um objecto falso da depencia que precisamos para validarOEmprestimo (Mockamos) // mock.Setup(x => x.ValidarCredito("001", 100)).Returns(true);//simulamos num caso em que o resultado seja true mock.Setup(x => x.ValidarCredito(It.IsAny <string>(), It.IsAny <decimal>())).Returns(true); //simulamos num caso em que o resultado seja true, colocamos qualquer valor do tipo de dados esperado conta.setValidadorCredito(mock.Object); //Object é um objecto que se comporta tal como esperado (é o objecto simulado do original e não o mock) int rsEsperado = 600; conta.SolicitarEmprestimo(100);//se o credito for aprovado então o emprestimo será realizado Assert.IsTrue(rsEsperado == conta.GetSaldo()); }
[SetUp]//primeiro metodo a ser executado antes de executar cada Teste || OneTimeSetUp: vai ser executado uma unica vez public void Setup() { conta = new Conta.Conta("001", 500); }