Example #1
0
        /// <summary>
        /// Método que permite crear la empresa de paquetería Estafeta.
        /// </summary>
        /// <returns>Interface de empresa de paquetería.</returns>
        private IEmpresaPaqueteria CrearEmpresaPaqueteriaEstafeta()
        {
            IEmpresaPaqueteria IEmpresaPaqueteria = new EmpresaEstafeta()
            {
                cNombreEmpresa       = "Estafeta",
                dMargenUtilidad      = 20,
                lstMediosTransportes = new List <IMedioTransporte>()
                {
                    CrearTransporteTren()
                }
            };

            return(IEmpresaPaqueteria);
        }
        public void ObtenerFechaEntrega_AumentarHorasMinutosSegundosFechaPedido_ObtenerFechaPedidoConHorasMinutosSegundosExtras()
        {
            //Arrange
            //Variables necesarias para realizar las pruebas.
            DateTime           dtFechaEntregaEsperado = new DateTime(2020, 02, 24, 11, 35, 40);
            DateTime           dtFechaEntregaActual   = new DateTime();
            IEmpresaPaqueteria SUT = new EmpresaEstafeta();

            //Act
            //Método que será sometido a pruebas.
            dtFechaEntregaActual = SUT.ObtenerFechaEntrega(new DateTime(2020, 02, 24, 10, 15, 00), new TimeSpan(1, 20, 40));

            //Assert
            //Validación de valores esperados.
            Assert.AreEqual(dtFechaEntregaEsperado, dtFechaEntregaActual);
        }
        public void ObtenerTiempoTraslado_EnviarDistanciaYVelocidadEntregaIncorrectos_ObtenerDiferenteTiempoEsperadoAlTiempoActual()
        {
            //Arrange
            //Variables necesarias para realizar las pruebas.
            decimal            dDistancia = 50000;
            TimeSpan           tsTiempoTrasladoEsperado = new TimeSpan();
            TimeSpan           tsTiempoTrasladoActual   = new TimeSpan();
            IEmpresaPaqueteria SUT = new EmpresaEstafeta();

            SUT.IMedioTransporte = new TransporteTren();
            SUT.IMedioTransporte.dVelocidadEntrega = 80;
            tsTiempoTrasladoEsperado = CalcularTiempoTraslado(30000, 400);

            //Act
            //Método que será sometido a pruebas.
            tsTiempoTrasladoActual = SUT.ObtenerTiempoTraslado(dDistancia);

            //Assert
            //Validación de valores esperados.
            Assert.AreNotEqual(tsTiempoTrasladoEsperado, tsTiempoTrasladoActual);
        }
        public void ObtenerCostoEnvio_EnviarMargenUtilidadIncorrecta_ObtenerDiferenteCostoActualAlCostoEsperado()
        {
            //Arrange
            //Variables necesarias para realizar las pruebas.
            decimal            dDistancia          = 50000;
            decimal            dCostoEnvioEsperado = 0.0M;
            decimal            dCostoEnvioActual   = 0.0M;
            IEmpresaPaqueteria SUT = new EmpresaEstafeta();

            SUT.IMedioTransporte = new TransporteTren();
            SUT.dMargenUtilidad  = 20;
            SUT.IMedioTransporte.dCostoKmPeso = 5;
            dCostoEnvioEsperado = CalcularCostoEnvio(dDistancia, SUT.IMedioTransporte.dCostoKmPeso, 60);

            //Act
            //Método que será sometido a pruebas.
            dCostoEnvioActual = SUT.ObtenerCostoEnvio(dDistancia);

            //Assert
            //Validación de valores esperados.
            Assert.AreNotEqual(dCostoEnvioEsperado, dCostoEnvioActual);
        }