Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        public void Test_Ciudad_Optima_Solo_Precios()
        {
            //Arrange
            var depreciación = new Depreciación(0);
            lonjaBarcelona.Distancia = 0;
            lonjaMadrid.Distancia = 0;
            lonjaLisboa.Distancia = 0;

            //Act
            string ciudad = analizador.DondeVender(carga, new List<Lonja>(){lonjaLisboa,lonjaBarcelona,lonjaMadrid}, new GastoFurgoneta(), depreciación);

            //Assert
            Assert.AreEqual("Lisboa", ciudad);
        }
Ejemplo n.º 5
0
 public void Test_Depreciacion_CincuentaPorCiento_DoscientosKilometros()
 {
     Depreciación d = new Depreciación(50);
     Assert.AreEqual(0, d.Calcula(200, 50));
 }
Ejemplo n.º 6
0
 public void Test_Depreciacion_CincuentaPorCiento()
 {
     Depreciación d = new Depreciación(50);
     Assert.AreEqual(25, d.Calcula(100, 50));
 }
Ejemplo n.º 7
0
 public void Test_Depreciacion_CeroPorCiento()
 {
     Depreciación d = new Depreciación(0);
     Assert.AreEqual(50, d.Calcula(100, 50));
 }