public void CalcularCostoAdiccionalEnvio_DHLMaritimo9000KMPrimavera_CalculoCorrecto() { //Arrange var distancia = 9000; var paqueteria = "DHL"; var fechaPedido = new DateTime(2020, 03, 23, 8, 00, 00); var costoEsperado = 4050M; var costoTransportacion = 2700M; var docObtenedorUtilidadDHL = new ObtenedorUtilidadDHL(); var docCalculaUtilidadPaqueteria = new CalcularUtilidadPaqueteria(docObtenedorUtilidadDHL); var docCalculaCostoPorTemporadaPrimavera = new CalculaCostoAdiccionalPorTemporadaPrimavera(); var SUT = new CalculaCostoAdiccionalEnvioMaritimo(docCalculaUtilidadPaqueteria, docCalculaCostoPorTemporadaPrimavera); //Act var costoEnvioMaritimo = SUT.CalcularCostoAdiccionalEnvio(costoTransportacion, distancia, fechaPedido, paqueteria); //Assert Assert.AreEqual(costoEsperado, costoEnvioMaritimo); }
public void costoPaquete_DHLAereo446400KMAplicaCostoAdiccionalPorEscala_CalculoCorrecto() { //Arrange var distancia = 446400; var paqueteria = "DHL"; var fechaPedido = new DateTime(2020, 01, 23, 8, 00, 00); var costoEsparado = 6829800M; var tipoTransporte = "Aereo"; var docObtenerCostoPorKilometroAereo = new ObtenedorCostoPorKilometroAereo(); var docCalculaAdiccionalPorEscala = new CalculaCostoAdiccionalPorEscala(); var docObtenedorUtilidadPaqueteria = new ObtenedorUtilidadDHL(); var calculaUtilidadFedex = new CalcularUtilidadPaqueteria(docObtenedorUtilidadPaqueteria); var docCalculaCostoAereo = new CalculaCostoAdiccionalAdiccionalEnvioAereo(docCalculaAdiccionalPorEscala, calculaUtilidadFedex); var SUT = new CalculaCostoEnvio(docObtenerCostoPorKilometroAereo, docCalculaCostoAereo); //Act var costoPedido = SUT.costoPaquete(distancia, paqueteria, fechaPedido); Assert.AreEqual(costoEsparado, costoPedido); }
public void costoPaquete_DHLMaritimo9000KMAplicaCostoAdiccionalPorEscala_CalculoCorrecto() { //Arrange var distancia = 9000; var paqueteria = "DHL"; var fechaPedido = new DateTime(2020, 01, 23, 8, 00, 00); var costoEsparado = 4981.5M; var tipoTransporte = "Maritimo"; var obtenedorCostoPorKilometroMaritimo = new ObtenedorCostoPorKilometroMaritimo(); var docCalculaAdiccionalPorTemporada = new CalculaCostoAdiccionalPorTemporadaInvierno(); var docObtenedorUtilidadPaqueteria = new ObtenedorUtilidadDHL(); var calculaUtilidadDHL = new CalcularUtilidadPaqueteria(docObtenedorUtilidadPaqueteria); var docCalculaCostoAereo = new CalculaCostoAdiccionalEnvioMaritimo(calculaUtilidadDHL, docCalculaAdiccionalPorTemporada); var SUT = new CalculaCostoEnvio(obtenedorCostoPorKilometroMaritimo, docCalculaCostoAereo); //Act var costoPedido = SUT.costoPaquete(distancia, paqueteria, fechaPedido); Assert.AreEqual(costoEsparado, costoPedido); }