public void Sacar10_RecebeUmaNota10() { //Preparar Nota notaEsperada = new Nota() { ValorNota = 10 }; CaixaEletronicoContext.ValorSaque = 10; //Ação CaixaEletronicoContext.RealizarSaque(); //Acerto Assert.AreEqual(notaEsperada.ValorNota, CaixaEletronicoContext.NotasSaque[0].ValorNota); }
/// <summary> /// Realiza o saque efetivamente /// </summary> public void RealizarSaque() { //Verifica se o valor é válido VerificaValorSaque(); //Limpa a lista de notas que serão entregues para o cliente NotasSaque.Clear(); //Faz a separação das notas while (ValorSaque > 0) { Nota notaSaque = new Nota(); notaSaque = NotasDisponiveis.Where(x => x.ValorNota <= ValorSaque).FirstOrDefault(); if (notaSaque.ValorNota != 0) { NotasSaque.Add(notaSaque); ValorSaque -= notaSaque.ValorNota; } } }