Esempio n. 1
0
        public static ValidationSummary Validate(string response, IQuiz quiz)
        {

            var objResponse = JsonConvert.DeserializeObject<List<dynamic>>(response);

            var score = .0f;

            foreach (var question in objResponse)
            {
                var q = quiz.Questions.ElementAt((int)question.question);

                if (q.Validate(question.answer))
                {
                    score += q.Score;
                }

            }

            return new ValidationSummary()
            {
                Score = score,
                Approved = score >= quiz.NeededScore,
                Quizz = quiz.Export(),
                Response = objResponse
            };
        }
Esempio n. 2
0
        public static Game Create(IQuiz quiz)
        {
            if(quiz == null)
                throw new InvalidOperationException("Quiz cannot be null");

            return new Game(quiz);
        }
Esempio n. 3
0
        public void Answer_Quiz_Thross_Exception_When_No_Active_Quiz()
        {
            IQuiz newQuiz = Substitute.For <IQuiz>();

            testObject.AddQuiz(newQuiz);
            Assert.Throws <NullReferenceException>(() => testObject.AnswerQuiz(true));
        }
Esempio n. 4
0
        private static IQuiz GetQuizChoice(QuizRepository quizRepository)
        {
            IQuiz result = null;

            do
            {
                Console.Write("Which quiz would you like to take? ");

                int quizNum;
                if (!int.TryParse(Console.ReadLine(), out quizNum))
                {
                    Console.WriteLine("That is not a quiz number!!");
                    continue;
                }

                try
                {
                    result = quizRepository[--quizNum];
                }
                catch (ArgumentOutOfRangeException)
                {
                    Console.WriteLine("Cannot find that quiz...");
                }
            } while (null == result);

            return(result);
        }
        public static QuizMaster Create(IQuiz chosenQuiz, IGameCommandListener gameCommandListener)
        {
            if (!chosenQuiz.Questions.Any())
                throw new InvalidDataException("No questions in this quiz!");

            return new QuizMaster(chosenQuiz, gameCommandListener);
        }
Esempio n. 6
0
        public void Add_Quiz_Register_Quiz_To_Quiz_Set()
        {
            IQuiz newQuiz = Substitute.For <IQuiz>();

            testObject.AddQuiz(newQuiz);
            Assert.That(testObject.Quizzes.Contains(newQuiz));
        }
Esempio n. 7
0
        public HomeController(ILogger <HomeController> logger, IUser user, IQuiz quiz, IQuestion question)
        {
            _logger = logger;
            _user   = user;

            _quiz     = quiz;
            _question = question;
        }
Esempio n. 8
0
        public void Select_Quiz_Assign_Active_Quiz()
        {
            IQuiz newQuiz = Substitute.For <IQuiz>();

            testObject.AddQuiz(newQuiz);
            testObject.SelectQuiz(newQuiz);
            Assert.That(testObject.ActiveQuiz, Is.EqualTo(newQuiz));
        }
Esempio n. 9
0
        public void Selecting_Unregistered_Quiz_Throws_Exception()
        {
            IQuiz testQuiz = Substitute.For <IQuiz>();
            IQuiz newQuiz  = Substitute.For <IQuiz>();

            testObject.AddQuiz(newQuiz);
            Assert.Throws <Exception>(() => testObject.SelectQuiz(testQuiz));
        }
Esempio n. 10
0
        public void SetUp()
        {
            IQuiz <bool, bool> quiz = Substitute.For <Quiz <bool, bool> >();

            testObject = quiz;
            testObject.IsCorrect(true).Returns(true);
            testObject.IsCorrect(false).Returns(false);
        }
Esempio n. 11
0
        public static Game Create(IQuiz quiz)
        {
            if (quiz == null)
            {
                throw new InvalidOperationException("Quiz cannot be null");
            }

            return(new Game(quiz));
        }
Esempio n. 12
0
        public void On_Active_Quiz_Changed_Emit_Event()
        {
            PopulateSystem(5);
            IQuiz newQuiz = null;

            testObject.OnActiveQuizChanges += (quiz) => newQuiz = quiz;
            testObject.SelectQuiz(testObject.Quizzes[3]);
            Assert.That(newQuiz, Is.Not.Null);
        }
Esempio n. 13
0
        public void Add_Quiz_Only_Register_Unique_Quiz(bool unique)
        {
            IQuiz newQuiz  = Substitute.For <IQuiz>();
            IQuiz testQuiz = unique ? Substitute.For <IQuiz>() : newQuiz;

            testObject.AddQuiz(newQuiz);
            testObject.AddQuiz(testQuiz);
            Assert.That(testObject.Quizzes.Count, Is.EqualTo(unique ? 2 : 1));
        }
Esempio n. 14
0
        public static QuizMaster Create(IQuiz chosenQuiz, IGameCommandListener gameCommandListener)
        {
            if (!chosenQuiz.Questions.Any())
            {
                throw new InvalidDataException("No questions in this quiz!");
            }

            return(new QuizMaster(chosenQuiz, gameCommandListener));
        }
Esempio n. 15
0
        public void Answer_Quiz_Return_Active_Quiz_IsCorrect(bool answer)
        {
            IQuiz newQuiz = Substitute.For <IQuiz>();

            newQuiz.IsCorrect(true).Returns(true);
            newQuiz.IsCorrect(false).Returns(false);
            testObject.AddQuiz(newQuiz);
            testObject.SelectQuiz(newQuiz);
            Assert.That(testObject.AnswerQuiz(true), Is.EqualTo(true));
        }
Esempio n. 16
0
 private void PopulateSystem(int times)
 {
     for (int i = 0; i < times; i++)
     {
         IQuiz newQuiz = Substitute.For <IQuiz>();
         newQuiz.IsCorrect(true).Returns(true);
         newQuiz.IsCorrect(false).Returns(false);
         testObject.AddQuiz(newQuiz);
     }
 }
Esempio n. 17
0
 public QuizController(IQuiz Quiz)
 {
     _Quiz  = Quiz;
     client = new HttpClient
     {
         BaseAddress = new Uri(BaseURL)
     };
     client.DefaultRequestHeaders.Clear();
     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
 }
Esempio n. 18
0
        private async Task DownloadData(IQuiz quiz)
        {
            quiz.IsDownloaded = false;

            var word_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) + "/words/" + quiz.word;

            quiz.sound_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) + "/sounds/" + quiz.word;

            var word_path_exists = System.IO.File.Exists(word_path);
            var sound_path_exist = System.IO.File.Exists(quiz.sound_path);

            if (word_path_exists == false || sound_path_exist == false)
            {
                var doc = new Scraping.en_hatsuon_info();

                try
                {
                    await doc.DownloadhtmlAsync(quiz.word);

                    quiz.mean = doc.GetMeaning();

                    var data = await Functions.API.DownloadFileAsync(doc.GetSoundSourceURL());

                    await Functions.API.SaveTextFile(word_path, doc.GetMeaning());

                    await Functions.API.SaveByteFile(quiz.sound_path, data);
                }
                catch (Exception e)
                {
                    quiz.mean       = "error :" + e.Message;
                    quiz.sound_path = "";
                }
            }
            else
            {
                quiz.mean = System.IO.File.ReadAllText(word_path);
            }


            quiz.IsDownloaded = true;
        }
Esempio n. 19
0
            private async Task RunQuizAsync(CommandContext ctx, IQuiz quiz)
            {
                this.Service.RegisterEventInChannel(quiz, ctx.Channel.Id);
                try {
                    await ctx.ImpInfoAsync(this.ModuleColor, Emojis.Clock1, "str-game-quiz-start");

                    await Task.Delay(TimeSpan.FromSeconds(10));

                    await quiz.RunAsync(this.Localization);

                    if (quiz.IsTimeoutReached)
                    {
                        await ctx.FailAsync("cmd-err-game-timeout");
                    }
                    else
                    {
                        await this.HandleQuizResultsAsync(ctx, quiz.Results);
                    }
                } finally {
                    this.Service.UnregisterEventInChannel(ctx.Channel.Id);
                }
            }
Esempio n. 20
0
 internal Game(IQuiz quiz)
 {
     _quiz = quiz;
     Score = 0;
 }
Esempio n. 21
0
 public Application(IQuiz quiz)
 {
     _quiz = quiz;
 }
Esempio n. 22
0
 public QuizBll()
 {
     this.quiz           = new Quiz(new UnitOfWork(new MemoContext()));
     this.converterToDTO = new ConverterToDTO();
 }
Esempio n. 23
0
 public QuizController(IQuiz quiz, UserManager <ApplicationUser> userManager)
 {
     _quiz        = quiz;
     _userManager = userManager;
 }
Esempio n. 24
0
 public QuizBll(IQuiz quiz, IConverterToDTO converterToDTO)
 {
     this.quiz           = quiz;
     this.converterToDTO = converterToDTO;
 }
Esempio n. 25
0
 public QuizController(IQuiz repo, IMapper mapper, MyContext context)
 {
     _context = context;
     _mapper  = mapper;
     _repo    = repo;
 }
Esempio n. 26
0
    public void DebugRandomQuiz()
    {
        IQuiz quiz = random_quiz();

        Debug.Log(string.Format(">>>>>> quiz: {0} {1} {2}", quiz.question, string.Join(", ", quiz.choices), quiz.answer));
    }
Esempio n. 27
0
 internal QuizMaster(IQuiz quiz, IGameCommandListener listener)
 {
     _quiz = quiz;
     _gameCommandListener = listener;
 }
Esempio n. 28
0
 public QuizController(IQuiz quizRepo, ILogger <QuizController> logger)
 {
     _quizRepo = quizRepo;
     _logger   = logger;
 }
Esempio n. 29
0
 public void Init()
 {
     _quizImpl = new QuizImpl();
 }
Esempio n. 30
0
 public apiQuizController()
 {
     _adapter = new QuizAdapter();
 }
Esempio n. 31
0
 public QuizGameController(IQuiz quizRepo, QuizTakerDbContext dbContext, ILogger <QuizGameController> logger)
 {
     _quizRepo  = quizRepo;
     _dbContext = dbContext;
     _logger    = logger;
 }
Esempio n. 32
0
 public TakeQuizController(IQuiz quizRepo)
 {
     _quizRepo = quizRepo;
 }
Esempio n. 33
0
 public GameLoopDialog(string topic)
 {
     quiz = new InitialQuiz(topic);
 }
 public void TakeQuiz(IQuiz take)
 {
     take.TakeQuiz();
 }
Esempio n. 35
0
 internal QuizMaster(IQuiz quiz, IGameCommandListener listener)
 {
     _quiz = quiz;
     _gameCommandListener = listener;
 }
Esempio n. 36
0
 internal Game(IQuiz quiz)
 {
     _quiz = quiz;
     Score = 0;
 }