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); }
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 })); }
public void TotalPriceDogBath_Receiving_Weekend_Date() { // Arrange var vaiRex = new VaiRex(15.0m, 50.0m, 1700); DateTime date = DateTime.Parse("28/07/2019"); // Act PetShopResponseViewModel petShopResponse = vaiRex.GetTotalPrice(4, 5, date); // Assert Assert.AreEqual(petShopResponse.TotalPriceDogBath, 355); }
public void TotalPriceDogBath_Receiving_Midweek_Date() { // Arrange var vaiRex = new VaiRex(15.0m, 50.0m, 1700); DateTime date = DateTime.Parse("03/08/2018"); // Act PetShopResponseViewModel petShopResponse = vaiRex.GetTotalPrice(3, 5, date); // Assert Assert.AreEqual(petShopResponse.TotalPriceDogBath, 295); }
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 }); }
public PetShopResponseViewModel GetBetterPetShop(PetShopInputViewModel petShopInput) { var petShopResponseList = new List <PetShopResponseViewModel>(); var vaiRex = new VaiRex(15.0m, 50.0m, 1700); var meuCaninoFeliz = new MeuCaninoFeliz(20.0m, 40.0m, 2000); var chowChawGas = new ChowChawGas(30.0m, 45.0m, 800); PetShopResponseViewModel totalPriceVaiRexPetShop = vaiRex.GetTotalPrice(petShopInput.QuantitySmallDogs, petShopInput.QuantityBigDogs, petShopInput.DateOfBath); PetShopResponseViewModel totalPriceMeuCaninoFelizPetShop = meuCaninoFeliz.GetTotalPrice(petShopInput.QuantitySmallDogs, petShopInput.QuantityBigDogs, petShopInput.DateOfBath); PetShopResponseViewModel totalPriceChowChawGasPetShop = chowChawGas.GetTotalPrice(petShopInput.QuantitySmallDogs, petShopInput.QuantityBigDogs, petShopInput.DateOfBath); petShopResponseList.Add(totalPriceVaiRexPetShop); petShopResponseList.Add(totalPriceMeuCaninoFelizPetShop); petShopResponseList.Add(totalPriceChowChawGasPetShop); return(petShopResponseList.OrderBy(p => p.TotalPriceDogBath).ThenBy(p => p.DogKennelDistanceMetre).FirstOrDefault()); }
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); }