예제 #1
0
        static void Main(string[] args)
        {
            string texto;

            try
            {
                /*** SERVICIOS ***/
                // * Argumento
                IObtenedorTextoArgumentos obtenedorTextoPrimerArgumento = new ObtenedorTextoPrimerArgumento(args);
                // Archivo
                IValidadorArchivo   validadorArchivo   = new ValidarArchivoTexto();
                ILectorArchivoTexto lectorArchivoTexto = new LectorArchivoTexto(obtenedorTextoPrimerArgumento.ObtenerTextoArgumentos(), validadorArchivo);
                IObtenedorRegistrosArchivoListaStrings obtenedorContenidoArchivoListaStrings = new ObtenedorRegistrosArchivoListaStrings(lectorArchivoTexto);

                // * Procesamiento
                IDivisorLinea       divisorLinea       = new DivisorLineaDosCampos();
                IValidadorCamposCVS validadorCamposCVS = new ValidadorCamposEventos();
                //   Cadena de comparaciones
                IDeterminadorDiferenciaTiempo determinadorDiferenciaMes    = new DeterminadorDiferenciaMes(null);
                IDeterminadorDiferenciaTiempo determinadorDiferenciaDia    = new DeterminadorDiferenciaDia(determinadorDiferenciaMes);
                IDeterminadorDiferenciaTiempo determinadorDiferenciaHora   = new DeterminadorDiferenciaHora(determinadorDiferenciaDia);
                IDeterminadorDiferenciaTiempo determinadorDiferenciaMinuto = new DeterminadorDiferenciaMinuto(determinadorDiferenciaHora);
                IAnalizadorTextoEvento        analizadorEvento             = new AnalizadorTextoEvento(divisorLinea, validadorCamposCVS, determinadorDiferenciaMinuto);
                IPresentadorEventos           presentadorEventos           = new PresentadorEventos(obtenedorContenidoArchivoListaStrings.ObtenerRegistrosArchivo(), analizadorEvento);
                texto = presentadorEventos.PresentarEventos();
            }
            catch (Exception ex)
            {
                texto = $"Ha ocurrido un error: {ex.Message}";
            }
            //// Capa de presentación
            IDesplegador desplegador = new DesplegadorPantalla();

            desplegador.Desplegar(texto);
        }
        public void DeterminarDiferenciaTiempo_PeriodoDeTiempoExede60Minutos_UsarSiguientesResponsabilidades()
        {
            //Arrange
            var DOCDeterminadorDiferenciaTiempoSiguiente = new Mock <IDeterminadorDiferenciaTiempo>();

            DOCDeterminadorDiferenciaTiempoSiguiente.Setup(s => s.DeterminarDiferenciaTiempo(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns("HORAS");

            DateTime dt1 = new DateTime(2019, 01, 01);
            DateTime dt2 = new DateTime(2019, 01, 02);

            var SUT = new DeterminadorDiferenciaMinuto(DOCDeterminadorDiferenciaTiempoSiguiente.Object);

            //Act
            var resultado = SUT.DeterminarDiferenciaTiempo(dt1, dt2);

            //Assert
            Assert.AreEqual("HORAS", resultado);
        }
        public void DeterminarDiferenciaTiempo_DeterminarDiferenciaEnMinutosFuturos_TextoConDiferenciaEnMinutos()
        {
            //Arrange
            var DOCDeterminadorDiferenciaTiempoSiguiente = new Mock <IDeterminadorDiferenciaTiempo>();

            DOCDeterminadorDiferenciaTiempoSiguiente.Setup(s => s.DeterminarDiferenciaTiempo(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns("HORAS");

            DateTime dt1 = new DateTime(2019, 01, 01, 10, 10, 0);
            DateTime dt2 = new DateTime(2019, 01, 01, 10, 0, 0);

            var SUT = new DeterminadorDiferenciaMinuto(DOCDeterminadorDiferenciaTiempoSiguiente.Object);

            //Act
            var resultado = SUT.DeterminarDiferenciaTiempo(dt1, dt2);

            //Assert
            Assert.AreEqual(" ocurrirá en 10 minuto(s).", resultado);
        }