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); }