コード例 #1
0
ファイル: AlexaRulesTest.cs プロジェクト: irinasmt/Alexa
        public void WhenuserAskedForBeginner_ReturnFirstQuestion_Beginner()
        {
            _request.IsNew = false;
            _intentHandler = new IntentRequestHandler(_request, DifficultyLevelEnum.Beginner, filePath);
            _questions     = _intentHandler.GetTheQuestionsForThisWeek();

            var currentQuestion = _questions.questions.First(x => x.slotIdentifier == "QuestionFive");

            var response = _intentHandler.GetQuestion();

            Assert.True(response.Response.OutputSpeech.Ssml.Contains(currentQuestion.text));
        }
コード例 #2
0
ファイル: AlexaRulesTest.cs プロジェクト: irinasmt/Alexa
        public void WhenuserJustStartedTheSkill_ReturnFirstQuestion_Intermediate()
        {
            _request.IsNew = true;
            _intentHandler = new IntentRequestHandler(_request, DifficultyLevelEnum.Intermdiate, filePath);
            _questions     = _intentHandler.GetTheQuestionsForThisWeek();

            var currentQuestion = _questions.questions.First(x => x.slotIdentifier == "QuestionFive");

            var response = _intentHandler.GetQuestion();

            Assert.True(response.Response.OutputSpeech.Ssml.Contains(currentQuestion.text));
        }
コード例 #3
0
ファイル: AlexaRulesTest.cs プロジェクト: irinasmt/Alexa
        public void WhenUserEnetrsAWrongInput_TellTheUserToPickANumber_Beginner()
        {
            _request.IsNew = false;
            _intentHandler = new IntentRequestHandler(_request, DifficultyLevelEnum.Beginner, filePath);
            _questions     = _intentHandler.GetTheQuestionsForThisWeek();

            var index = _request.SlotsList.FindIndex(x => x.Key == "QuestionFive");

            _request.SlotsList[index] = new KeyValuePair <string, string>("QuestionFive", "five");
            var response = _intentHandler.GetQuestion();

            Assert.True(response.Response.OutputSpeech.Ssml.Contains("pick a number"));
        }
コード例 #4
0
ファイル: AlexaRulesTest.cs プロジェクト: irinasmt/Alexa
        public void WhenUserenetrsAWrongAnser_TellUserTheCorrectAnswer_Beginner()
        {
            _request.IsNew = false;
            _intentHandler = new IntentRequestHandler(_request, DifficultyLevelEnum.Beginner, filePath);
            _questions     = _intentHandler.GetTheQuestionsForThisWeek();
            var currentQuestion = _questions.questions.First(x => x.slotIdentifier == "QuestionFive");

            var index = _request.SlotsList.FindIndex(x => x.Key == "QuestionFive");

            _request.SlotsList[index] = new KeyValuePair <string, string>("QuestionFive", (Convert.ToInt32(currentQuestion.correctAnswerIndex) - 1).ToString());
            var response = _intentHandler.GetQuestion();

            Assert.True(response.Response.OutputSpeech.Ssml.Contains("The correct answer is"));
        }
コード例 #5
0
ファイル: AlexaRulesTest.cs プロジェクト: irinasmt/Alexa
        public void WhenUserAsksforRepeat_RepeatTheQuestion_Beginner()
        {
            _request.IsNew = false;
            _intentHandler = new IntentRequestHandler(_request, DifficultyLevelEnum.Beginner, filePath);
            _questions     = _intentHandler.GetTheQuestionsForThisWeek();
            var currentQuestion = _questions.questions.First(x => x.slotIdentifier == "QuestionFive");

            var index = _request.SlotsList.FindIndex(x => x.Key == "QuestionFive");

            _request.SlotsList[index] = new KeyValuePair <string, string>("QuestionFive", "repeat");
            var response = _intentHandler.GetQuestion();

            Assert.True(response.Response.OutputSpeech.Ssml.Contains(currentQuestion.text));
        }
コード例 #6
0
ファイル: AlexaRulesTest.cs プロジェクト: irinasmt/Alexa
        public void WhenUserEntersThecorrectAnswer_TellUserThatTheAnswerIsCorrect_Intermediate()
        {
            _request.IsNew = false;
            _intentHandler = new IntentRequestHandler(_request, DifficultyLevelEnum.Intermdiate, filePath);
            _questions     = _intentHandler.GetTheQuestionsForThisWeek();
            var currentQuestion = _questions.questions.First(x => x.slotIdentifier == "QuestionFive");

            var index = _request.SlotsList.FindIndex(x => x.Key == "QuestionFive");

            _request.SlotsList[index] = new KeyValuePair <string, string>("QuestionFive", currentQuestion.correctAnswerIndex);
            var response = _intentHandler.GetQuestion();

            Assert.True(response.Response.OutputSpeech.Ssml.Contains("Your answer is correct"));
        }
コード例 #7
0
ファイル: AlexaRulesTest.cs プロジェクト: irinasmt/Alexa
        public void WhenUserIsAtTheLastQuestion_TellUserTheCorectScore_Intermediate()
        {
            _request.IsNew = false;
            _intentHandler = new IntentRequestHandler(_request, DifficultyLevelEnum.Intermdiate, filePath);
            _questions     = _intentHandler.GetTheQuestionsForThisWeek();

            _request.SlotsList = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("QuestionFive", "1"),
                new KeyValuePair <string, string>("QuestionOne", "2"),
                new KeyValuePair <string, string>("QuestionTwo", "3"),
                new KeyValuePair <string, string>("QuestionThree", "4"),
                new KeyValuePair <string, string>("QuestionFour", "1")
            };

            var response = _intentHandler.GetQuestion();

            Assert.True(response.Response.OutputSpeech.Ssml.Contains("Your total score is"));
        }
コード例 #8
0
ファイル: BaseAlexa.cs プロジェクト: irinasmt/Alexa
        public QuestionsPerWeek GetTheQuestionsForThisWeek()
        {
            RootObject       listOfQuestions = DeserializeJson();
            QuestionsPerWeek result          = new QuestionsPerWeek();

            switch (_dificultyLevel)
            {
            case DifficultyLevelEnum.Beginner:
                result = QuestionsPerWeek(listOfQuestions.beginner);
                break;

            case DifficultyLevelEnum.Intermdiate:
                result = QuestionsPerWeek(listOfQuestions.intermediate);
                break;
                //case DifficultyLevel.Advanced:
                //    result = QuestionsPerWeek(listOfQuestions.advanced);
                //    break;
            }
            return(result);
        }
コード例 #9
0
ファイル: AlexaRulesTest.cs プロジェクト: irinasmt/Alexa
        public void TellUserTheLastQuestion_Intermediate()
        {
            _request.IsNew     = false;
            _intentHandler     = new IntentRequestHandler(_request, DifficultyLevelEnum.Intermdiate, filePath);
            _questions         = _intentHandler.GetTheQuestionsForThisWeek();
            _request.SlotsList = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("QuestionFive", "1"),
                new KeyValuePair <string, string>("QuestionOne", "2"),
                new KeyValuePair <string, string>("QuestionTwo", "3"),
                new KeyValuePair <string, string>("QuestionThree", "1"),
                new KeyValuePair <string, string>("QuestionFour", "")
            };

            var questionfour = _questions.questions.First(x => x.slotIdentifier == "QuestionFour");

            var response = _intentHandler.GetQuestion();

            Assert.True(response.Response.OutputSpeech.Ssml.Contains(questionfour.text));
        }