예제 #1
0
        public async Task InterestSelectedAsync(IDialogContext context, IAwaitable <DomainType> argument)
        {
            DomainType selectedInterest = await argument;

            if (interests.Contains(selectedInterest))
            {
                // valid level selected
                domain = selectedInterest;

                // get input from user
                Query query = new Query(age, level.ToString(), domain.ToString(), mediumType);

                FileProvider provider = new FileProvider();
                // get results accourding to the input
                List <Result> results = provider.GetResults(query);

                IMessageActivity reply;
                if (results.Any())
                {
                    reply = this.GetReply(context, results.First());
                }
                else
                {
                    reply = this.GetCannedReply(context);
                }

                await context.PostAsync(reply);
            }
            else
            {
                await context.PostAsync("Please start over.");
            }

            context.Wait(this.MessageReceived);
        }
예제 #2
0
        public void TestMethod2()
        {
            // Arrange
            Query        query    = new Query(9, LevelType.Intermediate.ToString(), DomainType.Web.ToString(), MediumType.Course.ToString());
            FileProvider provider = new FileProvider();

            // Act
            List <Result> res = provider.GetResults(query);

            Assert.AreEqual(2, res.Count);
        }
예제 #3
0
        public void TestMethod1()
        {
            // Arrange
            Query        query    = new Query(9, LevelType.Beginner.ToString(), DomainType.Game.ToString(), MediumType.Workshop.ToString());
            FileProvider provider = new FileProvider();

            // Act
            List <Result> res = provider.GetResults(query);

            // Assert result
            Assert.AreEqual(8, res.Count);
        }