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); }
internal FeatureFlagBuilder FallthroughVariation(int variation) { _fallthrough = new VariationOrRollout(variation, null); return(this); }
internal FeatureFlagBuilder Fallthrough(VariationOrRollout fallthrough) { _fallthrough = fallthrough; return(this); }