@@ -15,8 +15,8 @@ public function testUsingSeedIsDifferentThanSalt()
1515 $ key = 'flag-key ' ;
1616 $ attr = 'key ' ;
1717 $ salt = 'testing123 ' ;
18- $ contextPoint1 = EvaluatorBucketing::getBucketValueForContext ($ context , $ key , $ attr , $ salt , null );
19- $ contextPoint2 = EvaluatorBucketing::getBucketValueForContext ($ context , $ key , $ attr , $ salt , $ seed );
18+ $ contextPoint1 = EvaluatorBucketing::getBucketValueForContext ($ context , null , $ key , $ attr , $ salt , null );
19+ $ contextPoint2 = EvaluatorBucketing::getBucketValueForContext ($ context , null , $ key , $ attr , $ salt , $ seed );
2020
2121 $ this ->assertNotEquals ($ contextPoint1 , $ contextPoint2 );
2222 }
@@ -29,8 +29,8 @@ public function testDifferentSaltsProduceDifferentAssignment()
2929 $ key = 'flag-key ' ;
3030 $ attr = 'key ' ;
3131 $ salt = 'testing123 ' ;
32- $ contextPoint1 = EvaluatorBucketing::getBucketValueForContext ($ context , $ key , $ attr , $ salt , $ seed1 );
33- $ contextPoint2 = EvaluatorBucketing::getBucketValueForContext ($ context , $ key , $ attr , $ salt , $ seed2 );
32+ $ contextPoint1 = EvaluatorBucketing::getBucketValueForContext ($ context , null , $ key , $ attr , $ salt , $ seed1 );
33+ $ contextPoint2 = EvaluatorBucketing::getBucketValueForContext ($ context , null , $ key , $ attr , $ salt , $ seed2 );
3434
3535 $ this ->assertNotEquals ($ contextPoint1 , $ contextPoint2 );
3636 }
@@ -42,9 +42,38 @@ public function testSameSeedIsDeterministic()
4242 $ key = 'flag-key ' ;
4343 $ attr = 'key ' ;
4444 $ salt = 'testing123 ' ;
45- $ contextPoint1 = EvaluatorBucketing::getBucketValueForContext ($ context , $ key , $ attr , $ salt , $ seed );
46- $ contextPoint2 = EvaluatorBucketing::getBucketValueForContext ($ context , $ key , $ attr , $ salt , $ seed );
45+ $ contextPoint1 = EvaluatorBucketing::getBucketValueForContext ($ context , null , $ key , $ attr , $ salt , $ seed );
46+ $ contextPoint2 = EvaluatorBucketing::getBucketValueForContext ($ context , null , $ key , $ attr , $ salt , $ seed );
4747
4848 $ this ->assertEquals ($ contextPoint1 , $ contextPoint2 );
4949 }
50+
51+ public function testContextKindSelectsContext ()
52+ {
53+ $ seed = 357 ;
54+ $ context1 = LDContext::create ('key1 ' );
55+ $ context2 = LDContext::create ('key2 ' , 'kind2 ' );
56+ $ multi = LDContext::createMulti ($ context1 , $ context2 );
57+
58+ $ key = 'flag-key ' ;
59+ $ attr = 'key ' ;
60+ $ salt = 'testing123 ' ;
61+
62+ $ this ->assertEquals (
63+ EvaluatorBucketing::getBucketValueForContext ($ context1 , null , $ key , $ attr , $ salt , $ seed ),
64+ EvaluatorBucketing::getBucketValueForContext ($ context1 , 'user ' , $ key , $ attr , $ salt , $ seed )
65+ );
66+ $ this ->assertEquals (
67+ EvaluatorBucketing::getBucketValueForContext ($ context1 , null , $ key , $ attr , $ salt , $ seed ),
68+ EvaluatorBucketing::getBucketValueForContext ($ multi , 'user ' , $ key , $ attr , $ salt , $ seed )
69+ );
70+ $ this ->assertEquals (
71+ EvaluatorBucketing::getBucketValueForContext ($ context2 , 'kind2 ' , $ key , $ attr , $ salt , $ seed ),
72+ EvaluatorBucketing::getBucketValueForContext ($ multi , 'kind2 ' , $ key , $ attr , $ salt , $ seed )
73+ );
74+ $ this ->assertNotEquals (
75+ EvaluatorBucketing::getBucketValueForContext ($ multi , 'user ' , $ key , $ attr , $ salt , $ seed ),
76+ EvaluatorBucketing::getBucketValueForContext ($ multi , 'kind2 ' , $ key , $ attr , $ salt , $ seed )
77+ );
78+ }
5079}
0 commit comments