コード例 #1
0
        public void TestAudioCardTemplate()
        {
            dynamic data = new JObject();

            data.type = "audiocard";
            var lgResult = GetNormalStructureLGFile().Evaluate("AudioCardTemplate", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertAudioCardActivity(activity);
        }
コード例 #2
0
        public void TestSuggestedActionsReference()
        {
            dynamic data = new JObject();

            data.text = "textContent";
            var lgResult = templates.Evaluate("SuggestedActionsReference", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertSuggestedActionsReferenceActivity(activity);
        }
コード例 #3
0
        public void TestHandoffActivity()
        {
            dynamic data = new JObject();

            data.text = "textContent";
            var lgResult = GetNormalStructureLGFile().Evaluate("handoffActivity", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertHandoffActivity(activity);
        }
コード例 #4
0
        public void TestActivityWithMultiStructuredSuggestionActions()
        {
            dynamic data = new JObject();

            data.text = "textContent";
            var lgResult = GetNormalStructureLGFile().Evaluate("activityWithMultiStructuredSuggestionActions", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertActivityWithMultiStructuredSuggestionActions(activity);
        }
コード例 #5
0
        public void TestExternalAdaptiveCardActivity()
        {
            dynamic data = new JObject();

            data.adaptiveCardTitle = "test";
            var lgResult = GetTemplateEngine().EvaluateTemplate("externalAdaptiveCardActivity", data).ToString();
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertAdaptiveCardActivity(activity);
        }
コード例 #6
0
        public void CreateActivities_ValidCall_ShouldCreateExpectedNumberOfActivities(int numberOfAccounts, int numberOfActivitiesPerAccount, int numberOfActivitiesPerDay)
        {
            List <AccountActivities> list = new ActivityFactory().CreateActivitiesByAccount(this.CreateParameters(numberOfAccounts, numberOfActivitiesPerAccount, numberOfActivitiesPerDay)).ToList <AccountActivities>();

            Assert.AreEqual((object)numberOfAccounts, (object)list.Count, "Incorrect number of accounts", Array.Empty <object>());
            foreach (AccountActivities accountActivities in list)
            {
                Assert.AreEqual((object)numberOfActivitiesPerAccount, (object)accountActivities.Activites.Count, "Incorrect number of activities for account", Array.Empty <object>());
            }
        }
コード例 #7
0
        public void TestActivityWithMultiStringSuggestionActions()
        {
            dynamic data = new JObject();

            data.text = "textContent";
            var lgResult = GetTemplateEngine().EvaluateTemplate("activityWithMultiStringSuggestionActions", data);
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertActivityWithMultiStringSuggestionActions(activity);
        }
コード例 #8
0
        public void TestActivityWithMultiStringSuggestionActions()
        {
            dynamic data = new JObject();

            data.text = "textContent";
            var lgResult = templates.Evaluate("activityWithMultiStringSuggestionActions", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertActivityWithMultiStringSuggestionActions(activity);
        }
コード例 #9
0
        public void TestHandoffActivity()
        {
            dynamic data = new JObject();

            data.text = "textContent";
            var lgResult = GetTemplateEngine().EvaluateTemplate("handoffActivity", data);
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertHandoffActivity(activity);
        }
コード例 #10
0
        public void TestAdaptivecardActivity()
        {
            dynamic data = new JObject();

            data.adaptiveCardTitle = "test";
            var lgResult = templates.Evaluate("adaptivecardActivity", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertAdaptiveCardActivity(activity);
        }
コード例 #11
0
        public void TestAdaptivecardActivityWithAttachmentStructure()
        {
            dynamic data = new JObject();

            data.adaptiveCardTitle = "test";
            var lgResult = GetLGFile().EvaluateTemplate("adaptivecardActivityWithAttachmentStructure", data);
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertAdaptiveCardActivity(activity);
        }
コード例 #12
0
        public void TestThumbnailCardTemplate()
        {
            dynamic data = new JObject();

            data.type = "thumbnailcard";
            var lgResult = GetLGFile().EvaluateTemplate("ThumbnailCardTemplate", data);
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertThumbnailCardActivity(activity);
        }
コード例 #13
0
        public void TestEventActivity()
        {
            dynamic data = new JObject();

            data.text = "textContent";
            var lgResult = GetLGFile().EvaluateTemplate("eventActivity", data);
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertEventActivity(activity);
        }
コード例 #14
0
        public void TestVideoCardTemplate()
        {
            dynamic data = new JObject();

            data.type = "videocard";
            var lgResult = templates.Evaluate("VideoCardTemplate", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertVideoCardActivity(activity);
        }
コード例 #15
0
        public void TestVideoCardTemplate()
        {
            dynamic data = new JObject();

            data.type = "videocard";
            var lgResult = GetTemplateEngine().EvaluateTemplate("VideoCardTemplate", data);
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertVideoCardActivity(activity);
        }
コード例 #16
0
        public void TestHandoffActivity()
        {
            dynamic data = new JObject();

            data.text = "textContent";
            var lgResult = templates.Evaluate("handoffActivity", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertHandoffActivity(activity);
        }
コード例 #17
0
        public void TestExternalAdaptiveCardActivity()
        {
            dynamic data = new JObject();

            data.adaptiveCardTitle = "test";
            var lgResult = GetNormalStructureLGFile().Evaluate("externalAdaptiveCardActivity", data).ToString();
            var activity = ActivityFactory.FromObject(lgResult);

            AssertAdaptiveCardActivity(activity);
        }
コード例 #18
0
        /// <summary>
        /// Create an activity through Language Generation using the thread culture or provided override.
        /// </summary>
        /// <param name="templateName">Langauge Generation template.</param>
        /// <param name="data">Data for Language Generation to use during response generation.</param>
        /// <param name="localeOverride">Optional override for locale.</param>
        /// <returns>Activity.</returns>
        /// <remarks>
        /// The InputHint property of the returning activity is set to be null if it's acceptingInput so
        /// when the activity is being used in a prompt it'll be set to expectingInput.
        /// </remarks>
        public Activity GenerateActivityForLocale(string templateName, object data = null, string localeOverride = null)
        {
            if (templateName == null)
            {
                throw new ArgumentNullException(nameof(templateName));
            }

            // By default we use the locale for the current culture, if a locale is provided then we ignore this.
            var locale = localeOverride ?? CultureInfo.CurrentUICulture.Name;

            // Do we have a template engine for this locale?
            if (TemplateEnginesPerLocale.ContainsKey(locale))
            {
                var activity = ActivityFactory.CreateActivity(TemplateEnginesPerLocale[locale].EvaluateTemplate(templateName, data).ToString());

                // Set the inputHint to null when it's acceptingInput so prompt can override it when expectingInput
                if (activity.InputHint == InputHints.AcceptingInput)
                {
                    activity.InputHint = null;
                }

                return(activity);
            }
            else
            {
                // We don't have a set of matching responses for this locale so we apply fallback policy to find options.
                languageFallbackPolicy.TryGetValue(locale, out string[] locales);
                {
                    // If no fallback options were found then we fallback to the default and log.
                    if (!languageFallbackPolicy.TryGetValue(localeDefault, out locales))
                    {
                        throw new Exception($"No LG responses found for {locale} or when attempting to fallback to '{localeDefault}'");
                    }
                }

                // Work through the fallback hierarchy to find a response
                foreach (var fallBackLocale in locales)
                {
                    if (TemplateEnginesPerLocale.ContainsKey(fallBackLocale))
                    {
                        var activity = ActivityFactory.CreateActivity(TemplateEnginesPerLocale[fallBackLocale].EvaluateTemplate(templateName, data).ToString());

                        // Set the inputHint to null when it's acceptingInput so prompt can override it when expectingInput
                        if (activity.InputHint == InputHints.AcceptingInput)
                        {
                            activity.InputHint = null;
                        }

                        return(activity);
                    }
                }
            }

            throw new Exception($"No LG responses found for {locale} or when attempting to fallback to '{localeDefault}'");
        }
コード例 #19
0
        public void TestMessageActivityAll()
        {
            dynamic data = new JObject();

            data.title = "titleContent";
            data.text  = "textContent";
            var lgResult = templates.Evaluate("messageActivityAll", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertMessageActivityAll(activity);
        }
コード例 #20
0
        public void TestActivityWithHeroCardAttachment()
        {
            dynamic data = new JObject();

            data.title = "titleContent";
            data.text  = "textContent";
            var lgResult = GetNormalStructureLGFile().Evaluate("activityWithHeroCardAttachment", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertActivityWithHeroCardAttachment(activity);
        }
コード例 #21
0
        public void TestHerocardActivityWithAttachmentStructure()
        {
            dynamic data = new JObject();

            data.title = "titleContent";
            data.text  = "textContent";
            var lgResult = templates.Evaluate("activityWithMultiAttachments", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertActivityWithMultiAttachments(activity);
        }
コード例 #22
0
        public void TestActivityWithHeroCardAttachment()
        {
            dynamic data = new JObject();

            data.title = "titleContent";
            data.text  = "textContent";
            var lgResult = GetLGFile().EvaluateTemplate("activityWithHeroCardAttachment", data);
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertActivityWithHeroCardAttachment(activity);
        }
コード例 #23
0
        public void TestHerocardWithCardAction()
        {
            dynamic data = new JObject();

            data.title = "titleContent";
            data.text  = "textContent";
            var lgResult = GetLGFile().EvaluateTemplate("HerocardWithCardAction", data).ToString();
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertCardActionActivity(activity);
        }
コード例 #24
0
        public void FactoryGetDirectActivityGenericWithId()
        {
            var activityId = Guid.NewGuid().ToString();

            // Don't handle dispose as it'll try and connect to a SQL server that may not be there.
            var direct = ActivityFactory.NewDirectActivity <TestActivity>(_dummyConnectionString, activityId);

            ActivityCheckCommon(direct);

            Assert.AreEqual(activityId, direct.ActivityId, "ActivityId is not as supplied.");
        }
コード例 #25
0
        public void ReportDetailedUseCaseEqualTest()
        {
            GetReportDetailedRequest getReportDetailedRequest = new GetReportDetailedRequest(category, sinceDate, toDate);

            IRepositoryFactory        repositoryFactory         = new RepositoryFactory(new DBContext());
            IActivityFactory          activityFactory           = new ActivityFactory(repositoryFactory, new ValidationRuleFactory());
            IUseCaseFactory           useCaseFactory            = new UseCaseFactory(activityFactory);
            GetReportDetailedResponse getReportDetailedResponse = useCaseFactory.Create <IUseCase <GetReportDetailedRequest, GetReportDetailedResponse> >().Execute(getReportDetailedRequest);

            Assert.IsTrue(getReportDetailedResponse.ReportDetaileds.Count == 2);
        }
コード例 #26
0
        public void TestMessageActivityAll()
        {
            dynamic data = new JObject();

            data.title = "titleContent";
            data.text  = "textContent";
            var lgResult = GetTemplateEngine().EvaluateTemplate("messageActivityAll", data);
            var activity = ActivityFactory.CreateActivity(lgResult);

            AssertMessageActivityAll(activity);
        }
コード例 #27
0
        public void TestSigninCardTemplate()
        {
            dynamic data = new JObject();

            data.signinlabel = "Sign in";
            data.url         = "https://login.microsoftonline.com/";
            var lgResult = templates.Evaluate("SigninCardTemplate", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertSigninCardActivity(activity);
        }
コード例 #28
0
    public void AddActivity(ActivityType activityType)
    {
        var activity = ActivityFactory.GetActivity(activityType);

        if (activity == null)
        {
            return;
        }

        activities.Add(activity.Type);
    }
コード例 #29
0
        public void TestHerocardWithCardAction()
        {
            dynamic data = new JObject();

            data.title = "titleContent";
            data.text  = "textContent";
            var lgResult = templates.Evaluate("HerocardWithCardAction", data);
            var activity = ActivityFactory.FromObject(lgResult);

            AssertCardActionActivity(activity);
        }
コード例 #30
0
        public void DepartmentUseCaseEqualTest()
        {
            GetDepartmentRequest getDepartmentRequest = new GetDepartmentRequest();

            IRepositoryFactory    repositoryFactory     = new RepositoryFactory(new DBContext());
            IActivityFactory      activityFactory       = new ActivityFactory(repositoryFactory, new ValidationRuleFactory());
            IUseCaseFactory       useCaseFactory        = new UseCaseFactory(activityFactory);
            GetDepartmentResponse getDepartmentResponse = useCaseFactory.Create <IUseCase <GetDepartmentRequest, GetDepartmentResponse> >().Execute(getDepartmentRequest);

            Assert.IsTrue(getDepartmentResponse.Departments.Count > 0);
        }