Пример #1
0
        public ICalculaVariacionVelocidad CrearInstancia(EnumEstacionesAnio estacionesAnio)
        {
            ICalculaVariacionVelocidad   variacionVelocidad = null;
            IObtenedorVariacionVelocidad obtenedorVariacionVelocidad;

            switch (estacionesAnio)
            {
            case EnumEstacionesAnio.Invierno:
                obtenedorVariacionVelocidad = _factoryGenericContainer.GetInstance <IObtenedorVariacionVelocidad>("ObtenedorVelocidadInvierno");
                variacionVelocidad          = new CalculaVariacionVelocidad(obtenedorVariacionVelocidad);
                break;

            case EnumEstacionesAnio.Otonio:
                obtenedorVariacionVelocidad = _factoryGenericContainer.GetInstance <IObtenedorVariacionVelocidad>("ObtenedorVelocidadOtonio");
                variacionVelocidad          = new CalculaVariacionVelocidad(obtenedorVariacionVelocidad);
                break;

            case EnumEstacionesAnio.Verano:
                obtenedorVariacionVelocidad = _factoryGenericContainer.GetInstance <IObtenedorVariacionVelocidad>("ObtenedorVelocidadVerano");
                variacionVelocidad          = new CalculaVariacionVelocidad(obtenedorVariacionVelocidad);
                break;
            }

            return(variacionVelocidad);
        }
        public void ObtenerFechaEntregaMedioTransporte_Fedex2000KMMaritimoVariacionVelocidadOtonio_resultadoCorrecto()
        {
            //Assert
            var fechaPedido   = new DateTime(2020, 01, 23, 12, 00, 00);
            var distancia     = 2000M;
            var FechaEsperada = new DateTime(2020, 01, 25, 22, 00, 00);

            var docTiempoReparto               = new MaritimoFedex();
            var docObtenedorTiempoReparto      = new ObtenedorTiempoReparto(docTiempoReparto);
            var docCalculaTiempoEntrega        = new CalcularTiempoEntrega();
            var docObtenedorVariacionVelocidad = new ObtenerVariacionVelocidadOtonio();
            var docVariacionVelocidad          = new CalculaVariacionVelocidad(docObtenedorVariacionVelocidad);


            var SUT = new CalculaFechaEntregaMaritimo(docObtenedorTiempoReparto, docCalculaTiempoEntrega, docVariacionVelocidad);

            //Act
            var fechaEntrega = SUT.ObtenerFechaEntregaMedioTransporte(distancia, fechaPedido);

            //Assert
            Assert.AreEqual(FechaEsperada, fechaEntrega);
        }