Inheritance: MonoBehaviour
        public async Task GetQuizByIdTest_QuizNotNull()
        {
            var controller = new QuizController(_mock.Object);
            var res        = await controller.GetQuizById(string.Empty);

            Assert.NotNull(res);
        }
Beispiel #2
0
    // Use this for initialization
    protected virtual void Awake()
    {
        this.controller = GameObject.Find("QuizController").GetComponent <QuizController>();

        foreach (GameGUIText guiText in this.transform.GetComponentsInChildren <GameGUIText>())
        {
            if (guiText.gameObject.name == "QuestionText")
            {
                questionText = guiText;
            }
            if (guiText.gameObject.name == "OptionA")
            {
                optionAText = guiText;
            }
            if (guiText.gameObject.name == "OptionB")
            {
                optionBText = guiText;
            }
        }
        foreach (ImageView guiText in this.transform.GetComponentsInChildren <ImageView>())
        {
            switch (guiText.gameObject.name)
            {
            case "ImageViewA":
                optionAImg = guiText;
                break;

            case "ImageViewB":
                optionBImg = guiText;
                break;
            }
        }
    }
Beispiel #3
0
        public async Task TestTakeQuiz()
        {
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "*****@*****.**"),
                new Claim(ClaimTypes.Email, "*****@*****.**")
            }, "mock"));


            var quiz = new ProProfQuiz()
            {
                Id = "1", QuizLink = "Test", QuizName = "Test", QuizUniqueName = "test"
            };

            _mockRepository.Setup(x => x.GetQuizByUniqeName("test")).ReturnsAsync(quiz);
            _mockUserRepository.Setup(x => x.GetUser("*****@*****.**")).ReturnsAsync(new ProProfsUser()
            {
                Email = "*****@*****.**", Password = "******"
            });
            var controller = new QuizController(_mockRepository.Object, _mockUserRepository.Object);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = user
                }
            };
            var quizs = await controller.Take("test");

            Assert.Equal($"https://www.proprofs.com/quiz-school/story.php?title=test&[email protected]&passkey=Test", quizs.QuizLink);
        }
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                QuizController.InitController();
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }
            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();
            app.UseCors();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });
        }
        public async Task Test_PostQuestion_QuestionWithoutCorrectAnswer(long characterId, long quizId)
        {
            var context    = GetQuizTestsDatabaseContext();
            var controller = new QuizController(new QuizService(new QuizRepository(context), new CharacterRepository(context),
                                                                new CharacterService(new CharacterRepository(context), new ItemRepository(context), Mapper), Mapper));

            var questionDTO = new SaveQuestion_QuestionDTO
            {
                QuizId      = characterId,
                CharacterId = quizId,
                Text        = "Test Question",
                Answers     = new List <SaveQuestion_AnswerDTO>()
                {
                    new SaveQuestion_AnswerDTO {
                        Text = "Empty", IsCorrect = false
                    },

                    new SaveQuestion_AnswerDTO {
                        Text = "Empty", IsCorrect = false
                    }
                }
            };

            var actionResult = await controller.PostQuestion(questionDTO);

            Assert.IsInstanceOf <BadRequestObjectResult>(actionResult);
        }
Beispiel #6
0
        /// <summary>
        /// handles submit button's click event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            //make sure user knows what they are doing
            var result = MessageBox.Show("Are you sure you want to submit this quiz? It will no longer be editable."
                                         , "Warning!", MessageBoxButtons.OKCancel);

            if (result == DialogResult.OK)
            {
                myQuiz.Open = dtpOpen.Value;
                myQuiz.Due  = dtpClose.Value;

                try
                {
                    //try to submit and exit
                    QuizController.SubmitQuiz(myQuiz);
                    this.Dispose();
                }
                catch (Exception exception)
                {
                    //show error
                    MessageBox.Show(exception.Message);
                    //reset dates
                    myQuiz.Open = DateTime.MinValue;
                    myQuiz.Due  = DateTime.MinValue;
                }
            }
        }
Beispiel #7
0
    public void Start()
    {
        // Define GUI style
        this.textStyle           = new GUIStyle("label");
        this.textStyle.alignment = TextAnchor.MiddleCenter;

        // Find Workstation GameObject in the scene
        GameObject workstation = GameObject.FindGameObjectWithTag("Workstation");

        if (null == workstation)
        {
            throw new System.ArgumentNullException("No Workstation GameObject found");
        }
        this.quizController = workstation.GetComponent <QuizController> ();
        if (null == this.quizController)
        {
            throw new System.ArgumentNullException("No QuizController script attached to Workstation GameObject");
        }

        // Get names of quizzes
        this.quizNames = new string[this.quizController.Quizzes.Count];
        int i = 0;

        foreach (Quiz quiz in this.quizController.Quizzes)
        {
            this.quizNames[i++] = quiz.Name;
        }
    }
        protected override void OnStart()
        {
            base.OnStart();

            _quizController = _controller as QuizController;
            _quizController.OnReceiveAnswer += WaitForDeselect;
        }
    void Start()
    {
        rigidBody = GetComponent <Rigidbody>();
        GameObject mathControllerObject  = GameObject.FindWithTag("MathController");
        GameObject touchControllerObject = GameObject.FindWithTag("TouchController");
        GameObject quizControllerObject  = GameObject.FindWithTag("QuizController");

        if (mathControllerObject != null)
        {
            mathController = mathControllerObject.GetComponent <MathController>();
        }
        if (mathControllerObject == null)
        {
            Debug.Log("Cannot find 'MathController' script");
        }

        if (touchControllerObject != null)
        {
            touchController = touchControllerObject.GetComponent <TouchController>();
        }
        if (touchControllerObject == null)
        {
            Debug.Log("Cannot find 'TouchController' script");
        }

        if (quizControllerObject != null)
        {
            quizController = quizControllerObject.GetComponent <QuizController>();
        }
        if (quizControllerObject == null)
        {
            Debug.Log("Cannot find 'QuizController' script");
        }
        StartCoroutine(BallCalculating());
    }
        public async Task GetCurrentPoints()
        {
            if (!(Context.User is SocketGuildUser))
            {
                return;
            }
            if (Context.Channel.Id != CurrentQuiz.CurrentQuizChannel.Id)
            {
                return;
            }
            if (CurrentQuiz.QuizState != QuizState.Running)
            {
                await Context.Message.ReplyAsync("Es läuft derzeit kein Quiz!");

                return;
            }

            var quizUser   = CurrentQuiz.CurrentQuizUsers.FirstOrDefault(m => m.Id == Context.User.Id.ToString());
            var quizMaster = CurrentQuiz.CurrentQuizMaster;

            if (quizUser == null && quizMaster.Id != Context.User.Id.ToString())
            {
                await Context.Message.ReplyAsync("Du spielst beim aktuellen Quiz nicht mit!");

                return;
            }

            await QuizController.GetCurrentPoints();
        }
Beispiel #11
0
        /// <summary>
        /// handles save click event.
        /// Prompts user for conformation and then saves and goes back to quizzes vies
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var result = MessageBox.Show("Are you sure you want to save changes to this quiz?", "Saving", MessageBoxButtons.OKCancel);

            if (result == DialogResult.OK)
            {
                //if first time were saving this quiz, we need to add it to the course as well
                bool addToCourse = (GlobalData.currentQuiz.Id == 0);

                //save it first
                QuizController.SaveQuiz(GlobalData.currentQuiz);

                //now add it to course if we determined it was first save
                if (addToCourse)
                {
                    CourseController.AddQuiz(GlobalData.currentCourse, GlobalData.currentQuiz);
                }

                //now delete all questions that are no longer part of this quiz
                foreach (QuestionData qDelete in questionsToDeleteOnSave)
                {
                    QuestionController.DeleteQuestion(qDelete);
                }

                //return to quizzes view
                GoBackToQuizzesView();
            }
        }
        public async Task AbortQuiz()
        {
            if (!(Context.User is SocketGuildUser user))
            {
                return;
            }

            if (user.Roles.All(m => m.Id != 826886898114363432))
            {
                await Context.Message.ReplyAsync("Du bist nicht der Gwiss Masder du Spaggn!");

                return;
            }

            if (CurrentQuiz.QuizState == QuizState.NotRunning)
            {
                await Context.Message.ReplyAsync("Es läuft derzeit kein Quiz!");

                return;
            }

            await QuizController.AbortQuiz();

            await Context.Message.ReplyAsync("Quiz abgebrochen! Keine Punkte werden gezählt!");
        }
Beispiel #13
0
        public async Task Get()
        {
            const int userId  = 56;
            var       quizzes = new List <Quiz>
            {
                new Quiz(),
                new Quiz()
            };

            var quizManager = new Mock <IQuizManager>();

            quizManager.Setup(c => c.GetUserQuizList(userId))
            .Returns(Task.FromResult(quizzes));

            var sut = new QuizController(quizManager.Object);

            sut.Token = new Models.TransferObjects.AuthToken
            {
                Token      = "token",
                UserId     = userId,
                ValidUntil = DateTime.Now.AddDays(1),
                IsVerified = true
            };

            var result = await sut.Get();

            Assert.AreEqual(quizzes.Count, result.ToList().Count);
        }
Beispiel #14
0
        public QuizContollerTest()
        {
            int loggedInCustomerId = new LoginInfo().GetAuthenticatedId();


            quiz1 = new Quiz {
                Name = "Quiz Test", CourseID = 2, CreatedDate = DateTime.Now, IsActive = true, UserID = loggedInCustomerId
            };
            quiz2 = new Quiz {
                Name = "Quiz Test 2", CourseID = 3, CreatedDate = DateTime.Now, IsActive = true, UserID = loggedInCustomerId
            };


            quizList = new List <Quiz> {
                quiz1, quiz2
            };


            // Lets create our dummy repository
            quizRepo = new UserRepository(quizList);

            // Let us now create the Unit of work with our dummy repository
            uow = new OperationResult(quizRepo);

            // Now lets create the BooksController object to test and pass our unit of work
            controller = new QuizController(uow);
        }//end UserControllerTest
 // Enforce a single instance of this class.
 // implimented as a monobehaviour component instead of making a static
 // singleton so i can interact with the scene easily.
 void Start()
 {
     if (FindObjectsOfType <QuizController>().Length == 1)
     {
         DontDestroyOnLoad(this.gameObject);
     }
     else
     {
         Destroy(this.gameObject);
     }
     if (this != null)
     {
         instance = this;
     }
     iTween.FadeTo(introText.gameObject, 0f, 0.01f);
     if (Application.isEditor)
     {
         StartCoroutine(wait1SecondToBeginGameInEditor());
     }
     fadeToQuiz(0, 0.01f);
     iTween.FadeTo(correctText.gameObject, 0f, 0.01f);
     foreach (BoxCollider col in quizAnswerColliders)
     {
         col.enabled = false;
     }
 }
        public async Task Test_PostQuizFeedback_InvalidQuizFeedback(long characterId, long quizId)
        {
            var context    = GetQuizTestsDatabaseContext();
            var controller = new QuizController(new QuizService(new QuizRepository(context), new CharacterRepository(context),
                                                                new CharacterService(new CharacterRepository(context), new ItemRepository(context), Mapper), Mapper));

            var quizFbDTO = new SaveQuizFb_QuizFeedbackDTO
            {
                CharacterId = characterId,
                QuizId      = quizId
            };

            var questionAnswer1DTO = new SaveQuizFb_QuestionAnswerDTO
            {
                QuestionId      = 2,
                ChosenAnswerIds = new List <long> {
                    6
                }
            };

            var questionAnswer2DTO = new SaveQuizFb_QuestionAnswerDTO
            {
                QuestionId      = 3,
                ChosenAnswerIds = new List <long>()
            };

            quizFbDTO.QuestionAnswers.Add(questionAnswer1DTO);
            quizFbDTO.QuestionAnswers.Add(questionAnswer2DTO);

            var actionResult = await controller.PostQuizFeedback(quizFbDTO);

            Assert.IsInstanceOf <BadRequestObjectResult>(actionResult);
        }
        protected override void OnStart()
        {
            base.OnStart();

            _quizController            = _controller as QuizController;
            _quizController.OnGameEnd += ShowFeedBack;
        }
        public async Task Test_DeleteQuestion_Success(long characterId, long quizId, long questionId)
        {
            var context    = GetQuizTestsDatabaseContext();
            var controller = new QuizController(new QuizService(new QuizRepository(context), new CharacterRepository(context),
                                                                new CharacterService(new CharacterRepository(context), new ItemRepository(context), Mapper), Mapper));

            var questionCountBefore = await context.Questions.CountAsync();

            var answerCountBefore = await context.Answers.CountAsync();

            var actionResult = await controller.DeleteQuestion(new DeleteQuestionRequestDTO
            {
                CharacterId = characterId,
                QuizId      = quizId,
                QuestionId  = questionId
            });

            Assert.IsInstanceOf <OkObjectResult>(actionResult);

            var questionCountAfter = await context.Questions.CountAsync();

            var answerCountAfter = await context.Answers.CountAsync();

            var okResult = actionResult as OkObjectResult;
            var response = okResult.Value as DeleteQuestionResponseDTO;

            Assert.NotNull(response);
            Assert.AreEqual(DeleteQuestionResponseDTO.RequestResult.Success.ToString(), response.Result);

            Assert.AreEqual(questionCountBefore - 1, questionCountAfter);
            Assert.AreEqual(answerCountBefore - 4, answerCountAfter);
        }
        public async Task DeleteQuiz_NotNull()
        {
            var controller = new QuizController(_mock.Object);

            var res = await controller.DeleteQuiz("");

            Assert.NotNull(res);
        }
        public async Task UpdateQuiz_IfNullThrowException()
        {
            var controller = new QuizController(_mock.Object);

            AsyncTestDelegate res = async() => await controller.UpdateQuiz(null);

            Assert.CatchAsync <NullReferenceException>(res);
        }
Beispiel #21
0
        protected override void OnStart()
        {
            base.OnStart();

            _quizController            = _controller as QuizController;
            _quizController.OnGameEnd += CheckQuizAnswers;
            _quizController.Reset     += OnReset;
        }
        protected override void OnStart()
        {
            base.OnStart();

            _quizController = _controller as QuizController;
            _quizController.OnAnswerFeedback += Disable;
            _quizController.OnClick          += Enable;
        }
        public async Task DeleteQuiz_QuizShouldBeDeleted()
        {
            var controller = new QuizController(_mock.Object);

            var res = await controller.DeleteQuiz("1");

            _mock.Verify(x => x.Send(It.IsAny <DeleteQuizCommand>(), CancellationToken.None));
        }
        public async Task GetQuizzes_ListQuizzesNotNull()
        {
            var controller = new QuizController(_mock.Object);

            var res = await controller.GetQuizzes();

            Assert.NotNull(res);
        }
        public async Task UpdateQuiz_NotNull()
        {
            var controller = new QuizController(_mock.Object);

            var res = await controller.UpdateQuiz(new Quiz());

            Assert.NotNull(res);
        }
        public void Privacy_Should_return_expected_view()
        {
            var controller = new QuizController(null);
            var result     = controller.Privacy() as ViewResult;

            // If fetching a page based on the Action name, I.E "Index", thus not using any arguments within the "View()" method
            // the ViewName property in the ViewResult will be null
            Assert.AreEqual(null, result?.ViewName);
        }
Beispiel #27
0
        protected override void OnStart()
        {
            base.OnStart();

            _quizController = _controller as QuizController;
            _quizController.OnRightAnswer += UpdateText;

            _bootstrap.Reset += () => _tx.text = "00";
        }
        protected override void OnStart()
        {
            base.OnStart();

            _quiz = _controller as QuizController;
            _quiz.OnQuestionDone += UpdateValue;

            UpdateValue();
        }
        protected override void OnStart()
        {
            base.OnStart();

            _quizController        = _controller as QuizController;
            _quizController.Reset += ResetQuestions;

            _questions = _bootstrap.GetModel(ModelTypes.Questions) as QuestionsData;
        }
Beispiel #30
0
    private void HandleContainerButton()
    {
        QuizController quizController = GameManager.Instance.UIManager.QuizController;

        quizController.QuizSos = _quizSos;

        GameManager.Instance.UIManager.ChangeMenuFragment(Fragment.QUIZ);
        GameManager.Instance.UIManager.QuizController.UpdateDisplayQuiz();
    }