Esempio n. 1
0
        private static void TextNamespace(INamespaceManagerService namespaceManager)
        {
            var myfirstNamespace = new SimpleNamespace("textNamespace", namespaceManager.Inputs, "userId", 100);

            Experiment demoButtonEx = new Experiment("textExperiment", namespaceManager.Inputs, (assignment, objects) =>
            {
                var demoButton = assignment.Set("demoButton", new UniformChoiceBuilder(new Dictionary <string, object>()
                {
                    { "choices", new[] { "requestDemo", "specialOffer", "earlyFreeAccess" } }
                }, namespaceManager.Inputs));

                var pageTitle = assignment.Set("pageTitle", new UniformChoiceBuilder(new Dictionary <string, object>()
                {
                    { "choices", new[] { "embracePower", "newGeneration", "improveBusiness" } }
                }, namespaceManager.Inputs));

                return(true);
            })
            {
                Log = objects => { namespaceManager.EventLogger.Log(objects); }
            };

            myfirstNamespace.AddExperiment(demoButtonEx, 100);

            namespaceManager.AddNamespace(myfirstNamespace);
        }
Esempio n. 2
0
        private static void VideoPromotionNamespace(INamespaceManagerService namespaceManager)
        {
            var myfirstNamespace = new SimpleNamespace("video_promotion", namespaceManager.Inputs, "userId", 100);

            Experiment videoExperiment = new Experiment("video_experiment1", namespaceManager.Inputs,
                                                        (assignment, objects) =>
            {
                var showVideo = assignment.Set("show_video",
                                               new BernoulliTrialBuilder(new Dictionary <string, object>()
                {
                    { "p", 0.6 }
                }, namespaceManager.Inputs));
                if ((int)showVideo == 1)
                {
                    var playVideo = assignment.Set("play_video",
                                                   new BernoulliTrialBuilder(new Dictionary <string, object>()
                    {
                        { "p", 0.4 }
                    }, namespaceManager.Inputs));
                    if ((int)playVideo == 1)
                    {
                        var muteVideo = assignment.Set("mute_video",
                                                       new BernoulliTrialBuilder(new Dictionary <string, object>()
                        {
                            { "p", 0.5 }
                        }, namespaceManager.Inputs));
                    }
                }

                return(true);
            })
            {
                Log = objects => { namespaceManager.EventLogger.Log(objects); }
            };

            myfirstNamespace.AddExperiment(videoExperiment, 100);

            namespaceManager.AddNamespace(myfirstNamespace);
        }
Esempio n. 3
0
        public void NamespaceTest_Tryout_ShouldReturnAParamFromDefaultExperiment()
        {
            //arrange

            //act
            _simpleNamespace.DefaultExperiment = _experiment1;
            _simpleNamespace.AddExperiment(_experiment2, 10);

            //assert
            Assert.AreEqual(_simpleNamespace.Get(_experiment1ParamName), 1);
        }