コード例 #1
0
        public void CalcularCostoAdiccionalEnvio_EstafetaMaritimo9000KMOtonio_CalculoCorrecto()
        {
            //Arrange
            var distancia           = 9000;
            var paqueteria          = "Estafeta";
            var fechaPedido         = new DateTime(2020, 09, 23, 8, 00, 00);
            var costoEsperado       = 4502.25M;
            var costoTransportacion = 2700M;

            var docObtenedorUtilidadDHL           = new ObtenedorUtilidadEstafeta();
            var docCalculaUtilidadPaqueteria      = new CalcularUtilidadPaqueteria(docObtenedorUtilidadDHL);
            var docCalculaCostoPorTemporadaOtonio = new CalculaCostoAdiccionalPorTemporadaOtonio();

            var SUT = new CalculaCostoAdiccionalEnvioMaritimo(docCalculaUtilidadPaqueteria, docCalculaCostoPorTemporadaOtonio);

            //Act
            var costoEnvioMaritimo = SUT.CalcularCostoAdiccionalEnvio(costoTransportacion, distancia, fechaPedido, paqueteria);

            //Assert
            Assert.AreEqual(costoEsperado, costoEnvioMaritimo);
        }
コード例 #2
0
        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);
        }