Beispiel #1
0
    public void SearchPrivateQuiz()
    {
        if (privateQuizID.text == "")
        {
            return;
        }

        WWW quizRequest = QuizAPI.RequestPrivateQuiz(privateQuizID.text);

        string Error    = quizRequest.error,
               Response = quizRequest.text;

        if (quizRequest.responseHeaders["STATUS"] == "HTTP/1.1 200 OK")
        {
            if (Response.Contains(LocalizationManager.GetText("InvalidSecretQuiz")))
            {
                AlertsAPI.instance.makeAlert("Quiz não encontrado!\nVerifique se inseriu o código corretamente.", "OK");
                return;
            }

            QuizManager.UpdateQuiz(Response);
            LoadScene("Quiz");
        }
        else
        {
            Debug.Log("Error get quiz: " + Error);
            AlertsAPI.instance.makeAlert("Ops, falha ao receber quiz!\nVerifique sua conexão e tente novamente.", "OK");
        }
    }
Beispiel #2
0
    private void GoToNextQuiz(int nextQuiz)
    {
        string nextQuizCode = CalculateSHA1(nextQuiz);

        Debug.Log(nextQuizCode);
        WWW quizRequest = QuizAPI.RequestPrivateQuiz(nextQuizCode);

        string Error    = quizRequest.error,
               Response = quizRequest.text;

        if (quizRequest.responseHeaders["STATUS"] == "HTTP/1.1 200 OK")
        {
            if (Response.Contains(LocalizationManager.GetText("InvalidSecretQuiz")))
            {
                AlertsAPI.instance.makeAlert("Ops!\nNão encontramos a próxima pergunta no banco de dados. Contate um tutor.", "OK");
                LoadScene("Quizzes");
                return;
            }

            QuizManager.UpdateQuiz(Response);
            LoadScene("Quiz");
        }
        else
        {
            Debug.Log("Error get next quiz: " + Error);
            AlertsAPI.instance.makeAlert("Ops, falha ao receber a próxima pergunta!\nVerifique sua conexão e tente novamente.", "OK");
        }
    }
Beispiel #3
0
        public void SetQuestionAmount_WithIncorrectValue_DoesntChangeState()
        {
            QuizAPI api = new QuizAPI();

            api.SetQuestionAmount(-5);
            Assert.AreEqual(10, api.GetQuestionAmount());
        }
Beispiel #4
0
        public void SetQuestionAmount_ChangesState()
        {
            QuizAPI api = new QuizAPI();

            api.SetQuestionAmount(15);
            Assert.AreEqual(15, api.GetQuestionAmount());
        }
Beispiel #5
0
        public void SetDifficulty_ChangesState()
        {
            QuizAPI api = new QuizAPI();

            api.SetDifficulty(QuizAPI.Difficulty.HARD);
            Assert.AreEqual(QuizAPI.Difficulty.HARD, api.GetDifficulty());
        }
Beispiel #6
0
        public void SetCategory_BeforeFetchingCategories_ReturnsDefault()
        {
            QuizAPI api = new QuizAPI();

            api.SetCategory(-1);
            Assert.AreEqual(0, api.GetCategory());
        }
Beispiel #7
0
        public void DefaultSettingsAfterInit()
        {
            QuizAPI api = new QuizAPI();

            Assert.AreEqual(10, api.GetQuestionAmount());
            Assert.AreEqual(0, api.GetCategory());
            Assert.AreEqual(QuizAPI.Difficulty.ANY, api.GetDifficulty());
        }
Beispiel #8
0
        public void GetQuestions_WithDefaultSettings_ReturnsData()
        {
            QuizAPI api = new QuizAPI();

            var questions = api.GetQuestions();

            Assert.IsNotNull(questions);
            Assert.IsTrue(questions.Length > 0);
        }
Beispiel #9
0
        public void SetCategory_WithIncorrectValue_ReturnsDefault()
        {
            QuizAPI api = new QuizAPI();

            api.GetCategoryList();

            api.SetCategory(-1);
            Assert.AreEqual(0, api.GetCategory());

            api.SetCategory(80);
            Assert.AreEqual(0, api.GetCategory());
        }
Beispiel #10
0
        public void GetQuestions_WithAmount_DownloadsCorrectAmountOfQuestions()
        {
            QuizAPI api = new QuizAPI();

            api.SetQuestionAmount(20);
            var data = api.GetQuestions();

            Assert.AreEqual(20, data.Length);

            api.SetQuestionAmount(5);
            data = api.GetQuestions();

            Assert.AreEqual(5, data.Length);
        }
Beispiel #11
0
    private void ReceivePublicQuizzes()
    {
        WWW quizzesRequest = QuizAPI.RequestPublicQuizzes();

        string Response = quizzesRequest.text,
               Error    = quizzesRequest.error;

        if (quizzesRequest.responseHeaders["STATUS"] == "HTTP/1.1 200 OK")
        {
            FillQuizzesList(Response);
            CreateQuizzesCards();
        }
        else
        {
            AlertsAPI.instance.makeAlert("Ops!\nHouve um problema ao receber os quizzes. Tente novamente em alguns instantes.", "Tudo bem");
            LoadBackScene();
        }
    }
Beispiel #12
0
    public void SendQuizResponse(Text choosenAnswer)
    {
        QuizManager.quizResponse.user_id = UserManager.user.id;
        QuizManager.quizResponse.quiz_id = QuizManager.quiz.id;

        string[] answers = QuizManager.quiz.answers;

        for (int i = 0; i < answers.Length; i++)
        {
            if (choosenAnswer.Equals(answers[i]))
            {
                QuizManager.quizResponse.answer = i + 1;
                break;
            }
        }

        WWW responseForm = QuizAPI.SendQuizResponse(QuizManager.quiz, QuizManager.quizResponse);

        ProcessSend(responseForm);
    }