public void PodeJogarQuizEndToEnd() { using (var quizAplicacao = new QuizAplicacao()) { var usuarioModel = new UsuarioModel() { UsuarioId = 1 }; var assuntos = quizAplicacao.AssuntosDeQuizzesDisponiveisPara(usuarioModel); if (assuntos.Count == 0) Assert.Inconclusive("Não existem assuntos com Quizzes novos para este usuário"); Assert.IsNotNull(assuntos, "A lista de assuntos veio nula!"); var quiz = quizAplicacao.Start(new AssuntoModel() { AssuntoId = 14 }); foreach (var pergunta in quiz.Perguntas) { var respostaQualquer = pergunta.PossiveisRespostas.FirstOrDefault(r => r.Correta); Assert.IsTrue(quizAplicacao.IsCorreta(quiz,usuarioModel,pergunta,respostaQualquer)); } } }
public static UsuarioModel ToModel(this Usuario usuario) { CreateMappings(); var usuarioModel = new UsuarioModel(); return Mapper.Map<Usuario, UsuarioModel>(usuario, usuarioModel); }
public bool IsCorreta(QuizModel quiz, UsuarioModel usuario, PerguntaModel pergunta, RespostaModel resposta) { return CorrigeResposta(quiz.QuizId, usuario.UsuarioId, pergunta.PerguntaId, resposta.RespostaId); }
public double Score(UsuarioModel usuario) { throw new NotImplementedException(); }
public IList<AssuntoModel> AssuntosDeQuizzesDisponiveisPara(UsuarioModel usuario) { var repositorioQuiz = new QuizRepositorio(contexto); var assuntos = repositorioQuiz.AssuntosDeQuizzesDisponiveisPara(usuario.UsuarioId); return assuntos.ToList().ToModel(); }