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_EstafetaTerrestre80KM_CalculoCorrecto() { //Arrange var distancia = 80M; var paqueteria = "Estafeta"; var FechaPedido = new DateTime(2020, 01, 23, 12, 00, 00); var costoEsperado = 1160M; var tipoTransporte = "Terrestre"; var docObtenerCostoPorKilometroTerrestre = new ObtenedorCostoPorKilometroTerrestre(); var docCalculaAdiccionalPorEscala = new CalculaCostoAdiccionalPorEscala(); var docObtenedorUtilidadPaqueteria = new ObtenedorUtilidadEstafeta(); var calculaUtilidadFedex = new CalcularUtilidadPaqueteria(docObtenedorUtilidadPaqueteria); var docCalculaCostoAereo = new CalculaCostoAdiccionalAdiccionalEnvioAereo(docCalculaAdiccionalPorEscala, calculaUtilidadFedex); var SUT = new CalculaCostoEnvio(docObtenerCostoPorKilometroTerrestre, docCalculaCostoAereo); //Act var costoPedido = SUT.costoPaquete(distancia, paqueteria, FechaPedido); //Assert Assert.AreEqual(costoEsperado, costoPedido); }