public void CalcularPuntosConversacion_OK() { //Arange Conversacion conversacion = new Conversacion(); conversacion.Nombre = "CONVERSACION 1"; conversacion.Lineas = new System.Collections.Generic.List <Linea>() { new Linea() { Emisor = "CLIENTE1", Mensaje = "Hola, buenos dias.", Fecha = DateTime.Now }, new Linea() { Emisor = "ASESOR1", Mensaje = "Hola CLIENTE1, bienvenido al centro de servicio.", Fecha = DateTime.Now } }; List <IReglaConversacion> reglasDeNegocio = new List <IReglaConversacion>() { new CalcularConversacionAbandonada(), new CalcularBuenServicio(), new CalcularCoincidenciasPalabraUrgente(), new CalcularNumeroMensajes() }; //Act int puntos = CalificadorUtil.CalcularPuntosConversacion(conversacion, reglasDeNegocio); //Asert Assert.AreEqual(15, puntos); }
public void CalcularCalificacionConversacion_OK() { //Arange int puntos = 20; //Act int calificacion = CalificadorUtil.CalcularCalificacionConversacion(puntos); //Asert Assert.AreEqual(1, calificacion); }
public void ValidarNombreEncabezadoConversacion_ErrorFormato() { //Arange StringBuilder texto = new StringBuilder(); texto.Append("CONVERSACIONES 1"); //Act bool resultado = CalificadorUtil.ValidarNombreEncabezadoConversacion(texto.ToString()); //Asert Assert.AreEqual(false, resultado); }
public void CargarLineaConversacion_ErrorFormato() { //Arange StringBuilder texto = new StringBuilder(); texto.Append("11:58:59 ASESORES3: Con gusto, atenderemos su solicitud."); //Act Linea linea = CalificadorUtil.CargarLineaConversacion(texto.ToString(), "CONVERSACION 1"); //Asert Assert.IsNull(linea); }
public void Prestar(string isbn, string nombreUsuario) { //variable auxiliar para obtener los caracteres del ISBN char[] auxISBN = isbn.ToCharArray(); //se invierte el orden de los caracteres Array.Reverse(auxISBN); //se tiene en cuenta lo mencionado en la regla de negocio #5 (se añadie una cantidad de días por defecto para los códigos con menos de 30) int diasPrestamo = (isbn.Length >= 30) ? 15: DIAS_DE_PRESTAMO_DEFAULT; //fecha de entrega que toma valor si lleva 30+ caracteres DateTime?fechaEntrega = null; try { //se verifica si corresponde a un palíndrome if (isbn == new string(auxISBN)) { throw new Exception(ES_PALINDROMO); } //se verifica si esta prestado if (this.EsPrestado(isbn)) { throw new Exception(EL_LIBRO_NO_SE_ENCUENTRA_DISPONIBLE); } //se calcula la fecha de entrega en caso dado if (diasPrestamo != 0) { fechaEntrega = CalificadorUtil.sumarDiasSinContarDomingo(DateTime.Now, diasPrestamo); } //registro del préstamo this.prestamoRepositorio.Agregar( new Prestamo( DateTime.Now, libroRepositorio.ObtenerPorIsbn(isbn), fechaEntrega, nombreUsuario ) ); } catch (Exception ex) { throw new Exception(ex.Message); } }