public void IniciarExamen_UsuarioValidoExamenValido_DevuelveExamen() { var examen = ControladorExamen.InicializarExamen("10", "OpentDb", "Science: Computers", "easy"); examen = ControladorExamen.IniciarExamen("leo", examen); Assert.IsTrue(examen.CantidadPreguntas == 10); }
private void siguiente_Click(object sender, EventArgs e) { if (flowLayoutPanel1.Controls.OfType <RadioButton>().FirstOrDefault(r => r.Checked) != null) { int respuestaId = Int32.Parse(flowLayoutPanel1.Controls.OfType <RadioButton>().FirstOrDefault(r => r.Checked).Name); this.iExamen = ControladorExamen.GuardarRespuesta(iExamen, obtienePregunta(iNumeroPregunta), respuestaId); LimpiaControles(); // Limpia todos los controles iNumeroPregunta++; if (iNumeroPregunta >= iExamen.CantidadPreguntas) { this.Hide(); examenTerminado = ControladorExamen.FinalizarExamen(iExamen); Ventana_Examen_Terminado finalizado = new Ventana_Examen_Terminado(examenTerminado); finalizado.ShowDialog(); this.Close(); } else { obtienePregunta(iNumeroPregunta); } } else { MessageBox.Show("Debe seleccionar una resupuesta"); } }
public Ventana_Preguntas(ExamenDTO pExamenDto) { InitializeComponent(); iExamen = pExamenDto; iNumeroPregunta = 0; iPreguntas = ControladorExamen.GetPreguntasDeExamen(iExamen.Id).ToList(); }
public void GuardarRespuesta_ExamenValidoPreguntaValidaRespuestaInvalida_DevuelveArgumentException() { var examen = ControladorExamen.InicializarExamen("10", "OpentDb", "Science: Computers", "easy"); examen = ControladorExamen.IniciarExamen("leo", examen); var preguntas = ControladorExamen.GetPreguntasDeExamen(examen.Id); var idRespuestasElegidas = new List <int>(); Assert.ThrowsException <ArgumentException>(() => ControladorExamen.GuardarRespuesta(examen, preguntas.First(), 0)); }
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 timer_Tick(object sender, EventArgs e) //Tiempo agotado { if (tiempo > 0) { tiempo--; this.time.Text = "Tiempo Restante: " + tiempo.ToString(); } else if (examenTerminado == null) { this.timer.Enabled = false; this.Hide(); examenTerminado = ControladorExamen.FinalizarExamen(iExamen); using (Ventana_Examen_Terminado finalizado = new Ventana_Examen_Terminado(examenTerminado)) //Paso el examen a la proxima ventana finalizado.ShowDialog(); this.Close(); } }
public void GuardarRespuestaFinalizarExamen_ExamenValidoPreguntaValidaRespuestaValida_DevuelveExamen() { var examen = ControladorExamen.InicializarExamen("10", "OpentDb", "Science: Computers", "easy"); examen = ControladorExamen.IniciarExamen("leo", examen); var preguntas = ControladorExamen.GetPreguntasDeExamen(examen.Id); var idRespuestasElegidas = new List <int>(); foreach (var p in preguntas) { var idRespuesta = p.Respuestas.First().Id; idRespuestasElegidas.Add(idRespuesta); ControladorExamen.GuardarRespuesta(examen, p, idRespuesta); } ControladorExamen.FinalizarExamen(examen); var examenGuardadoDTO = ControladorAdministrativo.GetExamenes().First(e => e.Id == examen.Id); foreach (var ep in examenGuardadoDTO.ExamenPreguntas) { Assert.IsTrue(idRespuestasElegidas.Contains(ep.RespuestaElegidaId)); } Assert.IsTrue(examenGuardadoDTO.ExamenPreguntas.ToList().Count == preguntas.Count()); }
public void IniciarExamen_UsuarioInexistenteExamenValido_DevuelveUsrNoEncontradoException() { var examen = ControladorExamen.InicializarExamen("10", "OpentDb", "Science: Computers", "easy"); Assert.ThrowsException <UsrNoEncontradoException>(() => ControladorExamen.IniciarExamen("usuarioQueNoExiste", examen)); }
public void InicializarExamen_ExamenConCategoriaInexistente_DevuelveArgumentException() { Assert.ThrowsException <ArgumentException>(() => ControladorExamen.InicializarExamen("10", "OpentDb", "CategoriaQueNoExiste", "easy")); }
public void InicializarExamen_ExamenConConjuntoInexistente_DevuelveArgumentException() { Assert.ThrowsException <ArgumentException>(() => ControladorExamen.InicializarExamen("10", "ConjuntoQueNoExiste", "Science: Computers", "easy")); }
public void InicializarExamen_ExamenVacio_DevuelveExcepcionNull() { Assert.ThrowsException <ArgumentNullException>(() => ControladorExamen.InicializarExamen("", "", "", "")); }
public void InicializarExamen_ExamenValido_DevuelveExamen() { var examenDto = ControladorExamen.InicializarExamen("10", "OpentDb", "Science: Computers", "easy"); Assert.IsTrue(examenDto.ExamenPreguntas.ToList().Count == 10); }