public void TestBucketUserByFloatAttr()
        {
            var user   = User.Builder("userKey").Custom("floatAttr", 999.999F).Build();
            var bucket = VariationOrRollout.BucketUser(user, "hashKey", "floatAttr", "saltyA");

            Assert.Equal(0, bucket, 15);
        }
        public void TestBucketUserByIntAttr()
        {
            var user   = User.Builder("userKey").Custom("intAttr", 33333).Build();
            var bucket = VariationOrRollout.BucketUser(user, "hashKey", "intAttr", "saltyA");

            Assert.Equal(0.54771423, bucket, 7);

            user = User.Builder("userKey").Custom("stringAttr", "33333").Build();
            var bucket2 = VariationOrRollout.BucketUser(user, "hashKey", "stringAttr", "saltyA");

            Assert.Equal(bucket, bucket2, 15);
        }
 internal FeatureFlagBuilder(FeatureFlag from)
 {
     _key                  = from.Key;
     _version              = from.Version;
     _on                   = from.On;
     _prerequisites        = from.Prerequisites;
     _salt                 = from.Salt;
     _targets              = from.Targets;
     _rules                = from.Rules;
     _fallthrough          = from.Fallthrough;
     _offVariation         = from.OffVariation;
     _variations           = from.Variations;
     _trackEvents          = from.TrackEvents;
     _debugEventsUntilDate = from.DebugEventsUntilDate;
     _deleted              = from.Deleted;
 }
        public void TestBucketUserByKey()
        {
            var user1  = User.WithKey("userKeyA");
            var bucket = VariationOrRollout.BucketUser(user1, "hashKey", "key", "saltyA");

            Assert.Equal(0.42157587, bucket, 6);

            var user2 = User.WithKey("userKeyB");

            bucket = VariationOrRollout.BucketUser(user2, "hashKey", "key", "saltyA");
            Assert.Equal(0.6708485, bucket, 6);

            var user3 = User.WithKey("userKeyC");

            bucket = VariationOrRollout.BucketUser(user3, "hashKey", "key", "saltyA");
            Assert.Equal(0.10343106, bucket, 6);
        }
Beispiel #5
0
 internal FeatureFlagBuilder FallthroughVariation(int variation)
 {
     _fallthrough = new VariationOrRollout(variation, null);
     return(this);
 }
Beispiel #6
0
 internal FeatureFlagBuilder Fallthrough(VariationOrRollout fallthrough)
 {
     _fallthrough = fallthrough;
     return(this);
 }