コード例 #1
0
        public void Test_0009_GetAppliedVariation_With_CustomSampler()
        {
            this.LogIn();
            client.AddResponse(
                200,
                CreateKiiExperimentAsJsonString(id, description, version, KiiExperimentStatus.RUNNING,
                                                variationNameA, eventNameA, 0, variableSetA,
                                                variationNameB, eventNameB, 100, variableSetB,
                                                variationNameA)
                );
            KiiExperiment experiment = KiiExperiment.GetByID(id);
            Variation     variation  = experiment.GetAppliedVariation(null, new CustomVariationSampler());

            // get VariationsA even its percentage is 0.
            Assert.AreEqual(experiment.Variations[0], variation);
        }
コード例 #2
0
        public void Test_0005_OnCrank_With_Status_DRAFT()
        {
            this.LogIn();
            VariationSampler sampler = new VariationSamplerByKiiUser();
            client.AddResponse(200, CreateKiiExperimentAsJsonString(KiiExperimentStatus.DRAFT, 50, 50, null));
            KiiExperiment experiment = KiiExperiment.GetByID("000001");
            Variation variationA = experiment.Variations[0]; // 50%
            Variation variationB = experiment.Variations[1]; // 50%

            Variation variation = sampler.ChooseVariation(experiment, null);
            Assert.IsNull(variation);
            variation = sampler.ChooseVariation(experiment, variationA);
            Assert.AreEqual(variationA, variation);
            variation = sampler.ChooseVariation(experiment, variationB);
            Assert.AreEqual(variationB, variation);
        }
コード例 #3
0
        public void Test_0008_OnCrank_With_Status_TERMINATED_Whit_ChosenVariation()
        {
            System.Threading.Thread.Sleep(1);
            VariationSampler sampler = new RandomVariationSampler();

            client.AddResponse(200, CreateKiiExperimentAsJsonString(KiiExperimentStatus.TERMINATED, 50, 50, "B"));
            KiiExperiment experiment = KiiExperiment.GetByID("000001");
            Variation     variationA = experiment.Variations[0]; // 50%
            Variation     variationB = experiment.Variations[1]; // 50%

            Variation variation = sampler.ChooseVariation(experiment, null);

            Assert.AreEqual(variationB, variation);
            variation = sampler.ChooseVariation(experiment, variationA);
            Assert.AreEqual(variationB, variation);
            variation = sampler.ChooseVariation(experiment, variationB);
            Assert.AreEqual(variationB, variation);
        }
コード例 #4
0
        public void Test_0006_GetConversionEventByName()
        {
            this.LogIn();
            client.AddResponse(
                200,
                CreateKiiExperimentAsJsonString(id, description, version, status,
                                                variationNameA, eventNameA, percentageA, variableSetA,
                                                variationNameB, eventNameB, percentageB, variableSetB,
                                                variationNameA)
                );
            KiiExperiment   experiment      = KiiExperiment.GetByID(id);
            ConversionEvent conversionEvent = experiment.GetConversionEventByName(eventNameB);

            Assert.AreEqual(experiment.ConversionEvents [1], conversionEvent);

            conversionEvent = experiment.GetConversionEventByName("hoge");
            Assert.IsNull(conversionEvent);
        }
コード例 #5
0
        public void Test_0005_EventForConversionWhenStatusIsTerminated()
        {
            this.LogIn();
            int experimentVersion = 10;

            client.AddResponse(200, CreateKiiExperimentAsJsonString(experimentVersion, KiiExperimentStatus.TERMINATED, "UI-A", "EV-A", "UI-B", "EV-B"));
            KiiExperiment   experiment = KiiExperiment.GetByID("000001");
            Variation       variationA = experiment.Variations[0];
            Variation       variationB = experiment.Variations[1];
            ConversionEvent eventA     = experiment.ConversionEvents[0];
            ConversionEvent eventB     = experiment.ConversionEvents[1];

            KiiEvent kiiEventA = variationA.EventForConversion(eventA);

            Assert.IsInstanceOfType(typeof(KiiEvent.NullKiiEvent), kiiEventA);

            KiiEvent kiiEventB = variationB.EventForConversion(eventB);

            Assert.IsInstanceOfType(typeof(KiiEvent.NullKiiEvent), kiiEventB);
        }
コード例 #6
0
 public void Test_0004_GetByID_ASync_With_InvalidID()
 {
     this.LogIn();
     client.AddResponse(
         200,
         CreateKiiExperimentAsJsonString(id, description, version, status,
                                         variationNameA, eventNameA, percentageA, variableSetA,
                                         variationNameB, eventNameB, percentageB, variableSetB,
                                         variationNameA)
         );
     KiiExperiment.GetByID("+100*", (KiiExperiment experiment, Exception e) => {
         if (e == null)
         {
             Assert.Fail("ArgumentException was not thrown.");
         }
         if (e.GetType() != typeof(ArgumentException))
         {
             Assert.Fail("unexpected exception. " + e.GetType());
         }
     });
 }
コード例 #7
0
        public void Test_0001_EventForConversion()
        {
            this.LogIn();
            int experimentVersion = 10;

            client.AddResponse(200, CreateKiiExperimentAsJsonString(experimentVersion, KiiExperimentStatus.RUNNING, "UI-A", "EV-A", "UI-B", "EV-B"));
            KiiExperiment   experiment = KiiExperiment.GetByID("000001");
            Variation       variationA = experiment.Variations[0];
            Variation       variationB = experiment.Variations[1];
            ConversionEvent eventA     = experiment.ConversionEvents[0];
            ConversionEvent eventB     = experiment.ConversionEvents[1];

            KiiEvent kiiEventA = variationA.EventForConversion(0);

            Assert.AreEqual(variationA.Name, kiiEventA["variationName"]);
            Assert.AreEqual(eventA.Name, kiiEventA["conversionEvent"]);
            Assert.AreEqual(experimentVersion, kiiEventA["version"]);

            KiiEvent kiiEventB = variationB.EventForConversion(1);

            Assert.AreEqual(variationB.Name, kiiEventB["variationName"]);
            Assert.AreEqual(eventB.Name, kiiEventB["conversionEvent"]);
            Assert.AreEqual(experimentVersion, kiiEventB["version"]);
        }