コード例 #1
0
ファイル: PetshopTest.cs プロジェクト: LukzMendes/DIO
        public void VerificaValorBanhoFimDeSemanaTest()
        {
            var meuCaninoFeliz = new MeuCaninoFeliz();
            var vaiRex         = new VaiRex();
            var chowChawgas    = new ChowChawgas();

            var dataFimDeSemana   = new DateTime(2020, 07, 18);
            var quantCaesPequenos = 2;
            var quantCaesGrandes  = 1;

            // Action
            // Calcula o valor total dos banhos em cada petshop
            meuCaninoFeliz.CalcularValorBanho(dataFimDeSemana, quantCaesPequenos, quantCaesGrandes);
            vaiRex.CalcularValorBanho(dataFimDeSemana, quantCaesPequenos, quantCaesGrandes);
            chowChawgas.CalcularValorBanho(dataFimDeSemana, quantCaesPequenos, quantCaesGrandes);

            // Verifica qual é o melhor petshop
            var melhorPetshop = Petshop.ComparaValores(meuCaninoFeliz, vaiRex, chowChawgas);

            // Assert
            Assert.AreEqual(96, meuCaninoFeliz.valorTotal);
            Assert.AreEqual(95, vaiRex.valorTotal);
            Assert.AreEqual(105, chowChawgas.valorTotal);

            Assert.AreEqual(melhorPetshop, vaiRex);
        }
コード例 #2
0
ファイル: PetshopController.cs プロジェクト: LukzMendes/DIO
        public ActionResult Get(string dataDoBanho, int caesPequenos, int caesGrandes)
        {
            if (string.IsNullOrEmpty(dataDoBanho))
            {
                return(new JsonResult(new {
                    Response = "Favor informar o dia do banho e a quantidade de caes pequenos e grandes "
                }));
            }

            var data = Convert.ToDateTime(dataDoBanho);

            var vaiRex         = new VaiRex();
            var meuCaninoFeliz = new MeuCaninoFeliz();
            var chowChawgas    = new ChowChawgas();

            // Calcula o valor total do banho
            vaiRex.CalcularValorBanho(data, caesPequenos, caesGrandes);
            meuCaninoFeliz.CalcularValorBanho(data, caesPequenos, caesGrandes);
            chowChawgas.CalcularValorBanho(data, caesPequenos, caesGrandes);

            Petshop melhorPetshop = Petshop.ComparaValores(vaiRex, meuCaninoFeliz, chowChawgas);

            return(new JsonResult(new
            {
                nome = melhorPetshop.nome,
                valorTotal = melhorPetshop.valorTotal,
                distanciaEmKm = melhorPetshop.distanciaEmQuilometros
            }));
        }
コード例 #3
0
        static List <IPetShop> GetPetShops(Input input)
        {
            MeuCaninoFeliz meuCaninoFeliz = new MeuCaninoFeliz("Meu Canino Felix", 2000, input);
            VaiRex         vaiRex         = new VaiRex("Vai Rex", 1700, input);
            ChowChawgas    chowChawgas    = new ChowChawgas("Chow Chawgas", 800, input);

            return(new List <IPetShop>
            {
                meuCaninoFeliz,
                vaiRex,
                chowChawgas
            });
        }
コード例 #4
0
        public PetShop Get()
        {
            DateTime       data           = new DateTime(2018, 08, 03);
            MeuCaninoFeliz meuCaninoFeliz = new MeuCaninoFeliz(data, 3, 5);
            VaiRex         vaiRex         = new VaiRex(data, 3, 5);
            ChowChawgas    chowChawgas    = new ChowChawgas(data, 3, 5);

            meuCaninoFeliz.GetMeuCaninoFeliz(meuCaninoFeliz);
            vaiRex.GetVaiRex(vaiRex);
            chowChawgas.GetChowChawgas(chowChawgas);

            var totalMeCaninoFeliz = meuCaninoFeliz.ValorCaoGrande + meuCaninoFeliz.ValorCaoPequeno;
            var totalVaiRex        = vaiRex.ValorCaoGrande + vaiRex.ValorCaoPequeno;
            var totalChowChawgas   = chowChawgas.ValorCaoGrande + chowChawgas.ValorCaoPequeno;

            if (totalMeCaninoFeliz < totalVaiRex && totalMeCaninoFeliz < totalChowChawgas)
            {
                PetShop petShop = new PetShop();
                petShop.Nome             = meuCaninoFeliz.Nome;
                petShop.ValorTotalBanhos = meuCaninoFeliz.ValorTotalBanhos;

                _petShop = petShop;
            }

            if (totalVaiRex < totalMeCaninoFeliz && totalVaiRex < totalChowChawgas)
            {
                PetShop petShop = new PetShop();
                petShop.Nome             = vaiRex.Nome;
                petShop.ValorTotalBanhos = vaiRex.ValorTotalBanhos;

                _petShop = petShop;
            }

            if (totalChowChawgas < totalVaiRex && totalChowChawgas < totalVaiRex)
            {
                PetShop petShop = new PetShop();
                petShop.Nome             = chowChawgas.Nome;
                petShop.ValorTotalBanhos = chowChawgas.ValorTotalBanhos;

                _petShop = petShop;
            }

            if (totalMeCaninoFeliz == totalVaiRex && totalMeCaninoFeliz == totalChowChawgas)
            {
                if (meuCaninoFeliz.Distancia < vaiRex.Distancia && meuCaninoFeliz.Distancia < chowChawgas.Distancia)
                {
                    PetShop petShop = new PetShop();
                    petShop.Nome             = meuCaninoFeliz.Nome;
                    petShop.ValorTotalBanhos = meuCaninoFeliz.ValorTotalBanhos;

                    _petShop = petShop;
                }

                if (chowChawgas.Distancia < vaiRex.Distancia && chowChawgas.Distancia < meuCaninoFeliz.Distancia)
                {
                    PetShop petShop = new PetShop();
                    petShop.Nome             = chowChawgas.Nome;
                    petShop.ValorTotalBanhos = chowChawgas.ValorTotalBanhos;

                    _petShop = petShop;
                }

                if (vaiRex.Distancia < meuCaninoFeliz.Distancia && vaiRex.Distancia < chowChawgas.Distancia)
                {
                    PetShop petShop = new PetShop();
                    petShop.Nome             = vaiRex.Nome;
                    petShop.ValorTotalBanhos = vaiRex.ValorTotalBanhos;

                    _petShop = petShop;
                }
            }

            return(_petShop);
        }