public void Test_Ciudad_Optima_Precios_CargaFurgoneta_Y_Depreciación_100PorCien_Carga() { //Arrange var gastoFurgoneta = new GastoFurgoneta() { Fijo = 5, PorKilometro = 2 }; var depreciación = new Depreciación(1); //Act string ciudad = analizador.DondeVender(carga, new List<Lonja>() { lonjaLisboa, lonjaBarcelona, lonjaMadrid }, gastoFurgoneta, depreciación); //Assert Assert.AreEqual("Lisboa", ciudad); }
public NombreCiudad DondeVender(Carga carga, List<Lonja> lonjas, GastoFurgoneta gastoFurgoneta, Depreciación depreciacion) { NombreCiudad ciudadOptima = NombreCiudad.Ninguna; float precioVentaMáximo = 0; foreach (Lonja lonja in lonjas) { var precioTotalventa = lonja.CalculaPrecioVenta(carga, depreciacion); var beneficios = precioTotalventa - gastoFurgoneta.Calcula(lonja.Distancia); if (beneficios > precioVentaMáximo || precioVentaMáximo == 0) { precioVentaMáximo = beneficios; ciudadOptima = lonja.Ciudad; } } return ciudadOptima; }
public void Test_Ciudad_Optima_Precios_Y_CargaFurgoneta_Distancias_Inventadas() { //Arrange var gastoFurgoneta = new GastoFurgoneta() { Fijo = 5, PorKilometro = 2 }; lonjaBarcelona.Distancia = 800; lonjaMadrid.Distancia = 1100; lonjaLisboa.Distancia = 60000; var depreciación = new Depreciación(0); //Act string ciudad = analizador.DondeVender(carga, new List<Lonja>() { lonjaLisboa, lonjaBarcelona, lonjaMadrid }, gastoFurgoneta, depreciación); //Assert Assert.AreEqual("Madrid", ciudad); }