public ICalculaRetrasoPorDia CrearInstancia(EnumEstacionesAnio estacionesAnio) { ICalculaRetrasoPorDia calculaRetrasoPorDia = null; IObtenedorTiempoDescansoPorDia obtenedorTiempoDescansoPorDia; switch (estacionesAnio) { case EnumEstacionesAnio.Invierno: obtenedorTiempoDescansoPorDia = _factoryGenericContainer.GetInstance <IObtenedorTiempoDescansoPorDia>("ObtenedorTiempoDescansoInvierno"); calculaRetrasoPorDia = new CalculaRetrasoPorDia(obtenedorTiempoDescansoPorDia); break; case EnumEstacionesAnio.Otonio: obtenedorTiempoDescansoPorDia = _factoryGenericContainer.GetInstance <IObtenedorTiempoDescansoPorDia>("ObtenedorTiempoDescansoOtonio"); calculaRetrasoPorDia = new CalculaRetrasoPorDia(obtenedorTiempoDescansoPorDia); break; case EnumEstacionesAnio.Verano: obtenedorTiempoDescansoPorDia = _factoryGenericContainer.GetInstance <IObtenedorTiempoDescansoPorDia>("ObtenedorTiempoDescansoVerano"); calculaRetrasoPorDia = new CalculaRetrasoPorDia(obtenedorTiempoDescansoPorDia); break; case EnumEstacionesAnio.Primavera: obtenedorTiempoDescansoPorDia = _factoryGenericContainer.GetInstance <IObtenedorTiempoDescansoPorDia>("ObtenedorTiempoDescansoPrimavera"); calculaRetrasoPorDia = new CalculaRetrasoPorDia(obtenedorTiempoDescansoPorDia); break; } return(calculaRetrasoPorDia); }
public void ObtenerFechaEntrega_DHL2000KMTerrestreAplicaRetrasoPorDiaInvierno_ResultadoCorrecto() { //Arrange var fechaPedido = new DateTime(2020, 01, 23, 12, 00, 00); var distancia = 2000M; var FechaEsperada = new DateTime(2020, 01, 25, 17, 00, 00); var docTiempoReparto = new TerrestreDHL(); var docObtenedorTiempoReparto = new ObtenedorTiempoReparto(docTiempoReparto); var docCalculaTiempoEntrega = new CalcularTiempoEntrega(); var docObtenerdorTiempoDescansoInvierno = new ObtenedorTiempoDescansoPorDiaInvierno(); var docCalculaRetrasoPorDia = new CalculaRetrasoPorDia(docObtenerdorTiempoDescansoInvierno); var SUT = new CalculaFechaEntregaTerrestre(docObtenedorTiempoReparto, docCalculaTiempoEntrega, docCalculaRetrasoPorDia); //Act var fechaEntregaPaquete = SUT.ObtenerFechaEntregaMedioTransporte(distancia, fechaPedido); //Assert Assert.AreEqual(FechaEsperada, fechaEntregaPaquete); }