public void AfiliarSocioExisteTest()
        {
            ConfiguracionPrueba0();

            try
            {
                Socio otroSocio = new Socio("3", "nombre3");
                club.AfiliarSocio(socio);
                club.AfiliarSocio(socio);

                Assert.Fail("El socio debe estar repetido.");
            }
            catch (SocioExisteException see)
            {

            }
        }
        /// <summary>
        /// Afilia un socio al club.
        /// </summary>
        /// <param name="socio">Socio a afiliar.</param>
        public void AfiliarSocio(Socio socio)
        {
            // Revisa que no existe un socio con la misma cédula:
            Socio socioEncontrado = BuscarSocio(socio.Cedula);

            if (socioEncontrado == null)
            {
                // Crea una nueva instancia de Socio:
                Socio nuevoSocio = new Socio(socio.Cedula, socio.Nombre);

                // Se agrega el nuevo socio al club:
                socios.Add(nuevoSocio);
            }
            else
            {
                throw new SocioExisteException("El socio ya existe.");
            }
        }
        /// <summary>
        /// Dispara evento Click para afiliar a un nuevo socio al club.
        /// </summary>
        /// <param name="sender">Generador del evento.</param>
        /// <param name="e">Datos del evento.</param>
        private void btnAfiliar_Click(object sender, EventArgs e)
        {
            // Validación de campos
            if (txtNombre.Text.Length == 0)
            {
                MessageBox.Show(this, Properties.Resources.DebeIngresarNombre, Properties.Resources.Advertencia, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (txtCedula.Text.Length == 0)
            {
                MessageBox.Show(this, Properties.Resources.DebeIngresarCedula, Properties.Resources.Advertencia, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                // Obtiene el valor del campo de cédula:
                string cedulaTexto = txtCedula.Text;
                int cedula;
                if (Int32.TryParse(cedulaTexto, out cedula))
                {
                    Socio socio = new Socio(cedula.ToString(), txtNombre.Text);

                    principal.Afiliar(socio);

                    txtCedula.Text = "";
                    txtNombre.Text = "";
                }
                else
                {
                    MessageBox.Show(this, Properties.Resources.DebeCedulaSerNumerico, Properties.Resources.Advertencia, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
        /// <summary>
        /// Agrega a un autorizado para un socio.
        /// </summary>
        /// <param name="socioAutorizado">Socio que autoriza.</param>
        /// <param name="nombreAutorizado">Nombre del autorizado.</param>
        /// <exception cref="SocioExisteException">Ocurre cuando el socio no existe en el club.</exception>
        /// <exception cref="AutorizadoExisteException">Ocurre cuando el autorizado ya existe para el socio dado.</exception>
        public void AgregarAutorizadoSocio(Socio socioAutorizado, string nombreAutorizado)
        {
            Socio socio = BuscarSocio(socioAutorizado.Cedula);

            if (socio == null)
            {
                throw new SocioExisteException("El socio con esa cédula no existe.");
            }
            else
            {
                try
                {
                    socio.AgregarAutorizado(nombreAutorizado);
                }
                catch(AutorizadoExisteException aee)
                {
                    throw aee;
                }
            }
        }
 /// <summary>
 /// Configuración de escenarios de prueba no. 1.
 /// </summary>
 public void ConfiguracionPrueba1()
 {
     club = new Club();
     socio = new Socio("2", "nombre2");
 }
 /// <summary>
 /// Configuración de escenario de pruebas no. 0.
 /// </summary>
 public void ConfiguracionPrueba0()
 {
     club = new Club();
     socio = new Socio("1", "nombre1");
 }
 /// <summary>
 /// Agrega un autorizado para un socio del club.
 /// </summary>
 /// <param name="cedulaSocio">Número de cédula del socio.</param>
 /// <param name="nombreAutorizado">Nombre del cliente a autorizar.</param>
 /// <exception cref="SocioExisteException">Ocurre cuando el socio no existe en el club.</exception>
 /// <exception cref="AutorizadoExisteException">Ocurre cuando el cliente autorizado ya existe para el socio especificado.</exception>
 public void AgregarAutorizado(string cedulaSocio, string nombreAutorizado)
 {
     try
     {
         // Agregación del autorizado:
         Socio socio = new Socio(cedulaSocio);
         club.AgregarAutorizadoSocio(socio, nombreAutorizado);
         ArrayList autorizados = club.ObtenerAutorizadosSocio(socio.Cedula);
         ctlAutorizados.CambiarAutorizados(autorizados);
     }
     catch (SocioExisteException see)
     {
         MessageBox.Show(this, see.Message, Properties.Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
     catch (AutorizadoExisteException aee)
     {
         MessageBox.Show(this, aee.Message, Properties.Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
 }
 /// <summary>
 /// Afilia un nuevo socio al club.
 /// </summary>
 /// <param name="socio">Nuevo socio del club.</param>
 /// <exception cref="SocioExisteException">Ocurre cuando el socio ya existe en el club.</exception>
 public void Afiliar(Socio socio)
 {
     try
     {
         club.AfiliarSocio(socio);
         MessageBox.Show(this, Properties.Resources.UsuarioRegistrado, Properties.Resources.Satisfactorio, MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     catch (SocioExisteException ex)
     {
         MessageBox.Show(this, ex.Message, Properties.Resources.Advertencia, MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }