예제 #1
0
        public void ForcedDecisionStoreNullContextForcedDecisionContext()
        {
            var expectedForcedDecision        = new OptimizelyForcedDecision("sample_variation_key");
            OptimizelyDecisionContext context = null;
            var forcedDecisionStore           = new ForcedDecisionsStore();

            forcedDecisionStore[context] = expectedForcedDecision;

            Assert.AreEqual(forcedDecisionStore.Count, 0);
        }
예제 #2
0
        public void ForcedDecisionStoreRemoveAllForcedDecisionContext()
        {
            var expectedForcedDecision = new OptimizelyForcedDecision("sample_variation_key");
            var context             = new OptimizelyDecisionContext("flag_key", "rule_key");
            var forcedDecisionStore = new ForcedDecisionsStore();

            forcedDecisionStore[context] = expectedForcedDecision;

            Assert.AreEqual(forcedDecisionStore.Count, 1);
            forcedDecisionStore.RemoveAll();
            Assert.AreEqual(forcedDecisionStore.Count, 0);
        }
예제 #3
0
        public void ForcedDecisionStoreGetForcedDecisionWithBothRuleAndFlagKey()
        {
            var expectedForcedDecision1 = new OptimizelyForcedDecision("sample_variation_key");
            var context1            = new OptimizelyDecisionContext("flag_key", "rule_key");
            var NullFlagKeyContext  = new OptimizelyDecisionContext(null, "rule_key");
            var forcedDecisionStore = new ForcedDecisionsStore();

            forcedDecisionStore[context1] = expectedForcedDecision1;

            Assert.AreEqual(forcedDecisionStore.Count, 1);
            Assert.AreEqual(forcedDecisionStore[context1].VariationKey, expectedForcedDecision1.VariationKey);
            Assert.IsNull(forcedDecisionStore[NullFlagKeyContext]);
        }
예제 #4
0
        public void ForcedDecisionStoreRemoveForcedDecisionContextRuleKeyNotMatched()
        {
            var expectedForcedDecision = new OptimizelyForcedDecision("sample_variation_key");
            var contextNotMatched      = new OptimizelyDecisionContext("flag_key", "");
            var context             = new OptimizelyDecisionContext("flag_key", "rule_key");
            var forcedDecisionStore = new ForcedDecisionsStore();

            forcedDecisionStore[context] = expectedForcedDecision;

            Assert.AreEqual(forcedDecisionStore.Count, 1);
            Assert.IsFalse(forcedDecisionStore.Remove(contextNotMatched));
            Assert.AreEqual(forcedDecisionStore.Count, 1);
        }
예제 #5
0
        public void ForcedDecisionStoreGetSetForcedDecisionWithBothRuleAndFlagKey()
        {
            var expectedForcedDecision1 = new OptimizelyForcedDecision("sample_variation_key");
            var expectedForcedDecision2 = new OptimizelyForcedDecision("sample_variation_key_2");
            var context1            = new OptimizelyDecisionContext("flag_key", "rule_key");
            var context2            = new OptimizelyDecisionContext("flag_key", "rule_key1");
            var forcedDecisionStore = new ForcedDecisionsStore();

            forcedDecisionStore[context1] = expectedForcedDecision1;
            forcedDecisionStore[context2] = expectedForcedDecision2;

            Assert.AreEqual(forcedDecisionStore.Count, 2);
            Assert.AreEqual(forcedDecisionStore[context1].VariationKey, expectedForcedDecision1.VariationKey);
            Assert.AreEqual(forcedDecisionStore[context2].VariationKey, expectedForcedDecision2.VariationKey);
        }
예제 #6
0
        public void ForcedDecisionStoreRemoveForcedDecisionTrue()
        {
            var expectedForcedDecision1 = new OptimizelyForcedDecision("sample_variation_key");
            var expectedForcedDecision2 = new OptimizelyForcedDecision("sample_variation_key_2");
            var context1            = new OptimizelyDecisionContext("flag_key", "rule_key");
            var context2            = new OptimizelyDecisionContext("flag_key", "rule_key1");
            var forcedDecisionStore = new ForcedDecisionsStore();

            forcedDecisionStore[context1] = expectedForcedDecision1;
            forcedDecisionStore[context2] = expectedForcedDecision2;

            Assert.AreEqual(forcedDecisionStore.Count, 2);
            Assert.IsTrue(forcedDecisionStore.Remove(context2));
            Assert.AreEqual(forcedDecisionStore.Count, 1);
            Assert.AreEqual(forcedDecisionStore[context1].VariationKey, expectedForcedDecision1.VariationKey);
            Assert.IsNull(forcedDecisionStore[context2]);
        }