public CalculaFechaEntregaMaritimo(IObtenedorTiempoReparto obtenedorTiempoReparto,
                                    ICalcularTiempoEntrega calcularTiempoEntrega, ICalculaVariacionVelocidad calculaVariacionVelocidad)
 {
     this.obtenedorTiempoReparto = obtenedorTiempoReparto ??
                                   throw new ArgumentNullException(nameof(obtenedorTiempoReparto));
     this.calcularTiempoEntrega =
         calcularTiempoEntrega ?? throw new ArgumentNullException(nameof(calcularTiempoEntrega));
     this.calculaVariacionVelocidad = calculaVariacionVelocidad ??
                                      throw new ArgumentNullException(nameof(calculaVariacionVelocidad));
 }
 public CalculaFechaEntregaTerrestre(IObtenedorTiempoReparto obtenedorTiempoReparto,
                                     ICalcularTiempoEntrega calcularTiempoEntrega, ICalculaRetrasoPorDia calculaRetrasoPorDia)
 {
     this.obtenedorTiempoReparto = obtenedorTiempoReparto ??
                                   throw new ArgumentNullException(nameof(obtenedorTiempoReparto));
     this.calcularTiempoEntrega =
         calcularTiempoEntrega ?? throw new ArgumentNullException(nameof(calcularTiempoEntrega));
     this._calculaRetrasoPorDia =
         calculaRetrasoPorDia ?? throw new ArgumentNullException(nameof(calculaRetrasoPorDia));
 }