public void retornar_true_se_conter_todas_as_materias_primas()
        {
            // action
            var contem = ValidacaoMateriaPrima
                         .MateriaPrimaCervejaContemElementosNecessarios(_materiaPrima);

            // verify
            Assert.IsTrue(contem);
        }
        public void retornar_false_se_nao_conter_todas_as_materias_primas_necessarias()
        {
            // prepare
            _materiaPrima.MalteCevada = false;

            // action
            var contem = ValidacaoMateriaPrima.MateriaPrimaCervejaContemElementosNecessarios(_materiaPrima);

            // verify
            Assert.IsFalse(contem);
        }
        public CervejaLagger(MateriaPrima materiaPrima)
        {
            if (!ValidacaoMateriaPrima
                .MateriaPrimaCervejaContemElementosNecessarios(materiaPrima))
            {
                throw new OperationCanceledException("Não é possível fabricar cerveja lagger sem os elementos necessários");
            }

            ValorUnitario      = 5.00m;
            TipoCerveja        = TipoCerveja.Lagger;
            HorasDeFermentacao = 48;
        }
        public CervejaPilsen(MateriaPrima materiaPrima)
        {
            if (!ValidacaoMateriaPrima
                .MateriaPrimaCervejaContemElementosNecessarios(materiaPrima))
            {
                throw new OperationCanceledException("Não é possível fabricar cerveja pilsen sem os elementos necessários");
            }

            ValorUnitario      = 3.50m;
            TipoCerveja        = TipoCerveja.Pilsen;
            HorasDeFermentacao = 12;
        }