public void Sacar100ReaisDeveRetornarUmaCedulaDe100()
        {
            var caixa = new Core.CaixaEletronico();
            var cedulas = caixa.Sacar(100m);

            Assert.AreEqual(ContarCedulas(cedulas, 100m), 1);
        }
        public void Sacar10590ReaisDeveRetornarCentoECincoCedulasDe100MaisUmaCedulaDe50MaisDuasCedulasDe20()
        {
            CaixaEletronico.Core.CaixaEletronico caixa = new Core.CaixaEletronico();
            var cedulas = caixa.Sacar(10590m);

            Assert.IsTrue(
                ContarCedulasDe100(cedulas) == 105 &&
                ContarCedulasDe50(cedulas) == 1 &&
                ContarCedulasDe20(cedulas) == 2);
        }
        public void NaoDevePermitirMontanteZero()
        {
            var caixa = new Core.CaixaEletronico();

            try
            {
                caixa.Sacar(0m);
                Assert.Fail("Deveria ter lançado a Exception ArgumentOutOfRangeException.");
            }
            catch (ArgumentOutOfRangeException)
            {
                Assert.IsTrue(true);
            }
        }
        public void DeveNegarOSaquePorFaltaDeCedula()
        {
            var caixa = new Core.CaixaEletronico();

            try
            {
                caixa.Sacar(327m);
                Assert.Fail("Deveria ter lançado a exception CedulasInsuficientesException.");
            }
            catch (CedulasInsuficientesException)
            {
                Assert.IsTrue(true);
            }
        }
        public void Sacar160ReaisDeveRetornarUmaCedulaDe100MaisUmaCedulaDe50MaisUmaCedulaDe10()
        {
            CaixaEletronico.Core.CaixaEletronico caixa = new Core.CaixaEletronico();
            var cedulas = caixa.Sacar(160m);

            Assert.IsTrue(
                ContarCedulasDe100(cedulas) == 1 &&
                ContarCedulasDe50(cedulas) == 1 &&
                ContarCedulasDe10(cedulas) == 1);
        }
        public void Sacar570ReaisDeveRetornarCincoCedulasDe100MaisUmaCedulaDe50MaisUmaCedulaDe20()
        {
            var caixa = new Core.CaixaEletronico();
            var cedulas = caixa.Sacar(570m);

            Assert.IsTrue(
                ContarCedulasDe100(cedulas) == 5 &&
                ContarCedulasDe50(cedulas) == 1 &&
                ContarCedulasDe20(cedulas) == 1);
        }