예제 #1
0
        public void mostrarPregunta(PreguntaDTO unaPregunta) //Muestra una pregunta con sus opciones
        {
            preg.Text += unaPregunta.Id;                     //Muestro la Pregunta en el Label

            var respuestas = ControladorPreguntas.RespuestasDePregunta(iPreguntas[iNumeroPregunta]);
            List <RespuestaDTO> opciones = new List <RespuestaDTO>(); //Almacena las 4 opciones de respuestas

            foreach (RespuestaDTO respuesta in respuestas)
            {
                opciones.Add(respuesta);
            }

            List <RespuestaDTO> listaDesordenada = new List <RespuestaDTO>();
            Random rnd = new Random();

            while (opciones.Count > 0) //Desordena la Lista
            {
                int i = rnd.Next(opciones.Count);
                listaDesordenada.Add(opciones[i]);
                opciones.RemoveAt(i);
            }


            foreach (RespuestaDTO opcion in listaDesordenada) //Muestra las preguntas en RadioButtons
            {
                RadioButton rb = new RadioButton();
                rb.Text = opcion.Texto;
                rb.Name = opcion.Id.ToString();
                flowLayoutPanel1.Controls.Add(rb);
            }
        }
예제 #2
0
        public void GetEstrategia_EstrategiaInvalida_DevuelveEstrategiaNula()
        {
            string nombre     = "Google";
            var    estrategia = ControladorPreguntas.GetEstrategia(nombre);

            Assert.IsInstanceOfType(estrategia, typeof(EstrategiaNula));
        }
예제 #3
0
        public void GetEstrategia_EstrategiaValida_DevuelveEstrategia()
        {
            string nombre     = "OpentDb";
            var    estrategia = ControladorPreguntas.GetEstrategia(nombre);

            Assert.IsInstanceOfType(estrategia, typeof(OpentDbEstrategiaObtenerPreguntas));
        }
        public void ObtenerPreguntasDeInternet_AtributosValidos_DevuelveListaDePreguntas()
        {
            string cantidad   = "20";
            string conjunto   = "OpentDb";
            string categoria  = "Sports";
            string dificultad = "easy";
            var    count      = ControladorPreguntas.ObtenerPreguntasDeInternet(cantidad, conjunto, categoria, dificultad).ToList().Count;

            Assert.IsTrue(count >= 1);
        }
        public void GetCategoriasConMasDeNPreguntas_ConjuntoValido_DevuelveCategorias()
        {
            String nombreConjunto      = "OpentDb";
            int    cantidadDePreguntas = 35;
            var    categorias          = ControladorPreguntas.GetCategoriasConMasDeNPreguntas(nombreConjunto, cantidadDePreguntas);

            foreach (var categoria in categorias)
            {
                Assert.IsTrue(ControladorPreguntas.CantidadDePreguntasParaCategoria(categoria.Id) >= cantidadDePreguntas);
            }
        }
        private void btnComenzarExamen_Click(object sender, EventArgs e)
        {
            if ((categoria.SelectedItem == null) || (dificultad.SelectedItem == null) || (conjunto.SelectedItem == null) || (cantidadPreguntas.Value == null))
            {
                MessageBox.Show("Debe completar todos los campos para iniciar el examen");
            }
            else
            {
                string categoriaSeleccionada  = categoria.SelectedItem.ToString();
                string dificultadSeleccionada = dificultad.SelectedItem.ToString();
                string conjuntoSeleccionado   = conjunto.SelectedItem.ToString();
                int    cantidadSeleccionada   = Convert.ToInt32(cantidadPreguntas.Value);

                var categoriaPreguntas = ControladorPreguntas.GetCategoriasConMasDeNPreguntas(conjuntoSeleccionado, cantidadSeleccionada);


                //Si la categoria no tiene mas de N preguntas
                if (categoriaPreguntas.FirstOrDefault(c => c.Id == categoriaSeleccionada) == null)
                {
                    int cantidadDePreguntasParaCategoria = ControladorPreguntas.CantidadDePreguntasParaCategoria(categoriaSeleccionada);

                    MessageBoxButtons mensaje = MessageBoxButtons.YesNo;
                    DialogResult      result  = MessageBox.Show($"Solo hay {cantidadDePreguntasParaCategoria} preguntas de {categoriaSeleccionada}. " +
                                                                $"Quiere hacer el examen aunque no haya la cantidad de preguntas seleccionadas?", "Advertencia", mensaje);


                    if (result == DialogResult.Yes)
                    {
                        ExamenDTO nuevoExamen = ControladorExamen.InicializarExamen(cantidadSeleccionada.ToString(), conjuntoSeleccionado, categoriaSeleccionada, dificultadSeleccionada);
                        nuevoExamen = ControladorExamen.IniciarExamen(iNombreUsuario, nuevoExamen);

                        this.Hide();

                        using (Ventana_Preguntas Vpreguntas = new Ventana_Preguntas(nuevoExamen))
                            Vpreguntas.ShowDialog();
                        this.Close();
                    }
                }
                else
                {
                    ExamenDTO nuevoExamen = ControladorExamen.InicializarExamen(cantidadSeleccionada.ToString(), conjuntoSeleccionado, categoriaSeleccionada, dificultadSeleccionada);
                    nuevoExamen = ControladorExamen.IniciarExamen(iNombreUsuario, nuevoExamen);

                    this.Hide();

                    using (Ventana_Preguntas Vpreguntas = new Ventana_Preguntas(nuevoExamen))
                        Vpreguntas.ShowDialog();
                    this.Close();
                }
            }
        }
        private void cargarDificultad() //Le asigno al combobox dificultad el array dificultades
        {
            if (conjuntoSeleccionado == null)
            {
            }
            else
            {
                dificultades = ControladorPreguntas.GetDificultades(conjuntoSeleccionado);

                foreach (DificultadDTO dific in dificultades)
                {
                    dificultad.Items.Add(dific.Id);
                }
            }
        }
        private void cargarCategoria()
        {
            if (conjuntoSeleccionado == null)
            {
            }
            else
            {
                categorias = ControladorPreguntas.GetCategoriasConMasDeNPreguntas(conjuntoSeleccionado, 10);

                foreach (CategoriaPreguntaDTO categ in categorias)
                {
                    categoria.Items.Add(categ.Id);
                }
            }
        }
        private void conjunto_SelectedIndexChanged(object sender, EventArgs e)
        {
            string nombreConjuto = this.conjunto.SelectedItem.ToString();
            var    categorias    = ControladorPreguntas.GetCategoriasConMasDeNPreguntas(nombreConjuto, 0);
            var    dificultades  = ControladorPreguntas.GetDificultades(nombreConjuto);

            foreach (var c in categorias)
            {
                categoria.Items.Add(c.Id);
            }

            foreach (var d in dificultades)
            {
                dificultad.Items.Add(d.Id);
            }
        }
        private void cargarPreguntas_Click(object sender, EventArgs e)
        {
            if ((categoria.SelectedItem == null) || (dificultad.SelectedItem == null) || (conjunto.SelectedItem == null) || (cantidad.Value == null))
            {
                MessageBox.Show("Debe completar todos ");
            }
            else
            {
                string categoriaSeleccionada = categoria.SelectedItem.ToString();   //Asigno el valor ingresado a clase Categoria

                string dificultadSeleccionada = dificultad.SelectedItem.ToString(); //Asigno el valor ingresado a clase Dificultad

                string conjuntoSeleccionado = conjunto.SelectedItem.ToString();     //Asigno el valor ingresado a clase Dificultad

                string cantidadSeleccionada = cantidad.Value.ToString();

                int cargadas = ControladorPreguntas.GetPreguntasOnline(cantidadSeleccionada, conjuntoSeleccionado, categoriaSeleccionada, dificultadSeleccionada);

                MessageBox.Show($"Se cargaron exitosamente {cargadas} preguntas");
            }
        }
예제 #11
0
        public void GetEstrategia_EstrategiaVacia_DevuelveEstrategiaNula()
        {
            var estrategia = ControladorPreguntas.GetEstrategia("");

            Assert.IsInstanceOfType(estrategia, typeof(EstrategiaNula));
        }