@@ -17,7 +17,7 @@ class EvaluatorSegmentTest extends TestCase
1717 public function testExplicitIncludeContext ()
1818 {
1919 global $ defaultContext ;
20- $ segment = ModelBuilders::segmentBuilder ('test ' )->included ([ $ defaultContext ->getKey ()] )->build ();
20+ $ segment = ModelBuilders::segmentBuilder ('test ' )->included ($ defaultContext ->getKey ())->build ();
2121 $ this ->assertTrue (self ::segmentMatchesContext ($ segment , $ defaultContext ));
2222 }
2323
@@ -26,7 +26,7 @@ public function testExplicitExcludeContext()
2626 global $ defaultContext ;
2727 $ segment = ModelBuilders::segmentBuilder ('test ' )
2828 ->rule (ModelBuilders::segmentRuleMatchingContext ($ defaultContext ))
29- ->excluded ([ $ defaultContext ->getKey ()] )
29+ ->excluded ($ defaultContext ->getKey ())
3030 ->build ();
3131 $ this ->assertFalse (self ::segmentMatchesContext ($ segment , $ defaultContext ));
3232 }
@@ -35,11 +35,39 @@ public function testExplicitIncludeHasPrecedence()
3535 {
3636 global $ defaultContext ;
3737 $ segment = ModelBuilders::segmentBuilder ('test ' )
38- ->included ([ $ defaultContext ->getKey ()] )->excluded ([ $ defaultContext ->getKey ()] )
38+ ->included ($ defaultContext ->getKey ())->excluded ($ defaultContext ->getKey ())
3939 ->build ();
4040 $ this ->assertTrue (self ::segmentMatchesContext ($ segment , $ defaultContext ));
4141 }
4242
43+ public function testIncludedKeyForContextKind ()
44+ {
45+ $ c1 = LDContext::create ('key1 ' , 'kind1 ' );
46+ $ c2 = LDContext::create ('key2 ' , 'kind2 ' );
47+ $ multi = LDContext::createMulti ($ c1 , $ c2 );
48+ $ segment = ModelBuilders::segmentBuilder ('test ' )
49+ ->includedContexts ('kind1 ' , 'key1 ' )
50+ ->build ();
51+ $ this ->assertTrue (self ::segmentMatchesContext ($ segment , $ c1 ));
52+ $ this ->assertFalse (self ::segmentMatchesContext ($ segment , $ c2 ));
53+ $ this ->assertTrue (self ::segmentMatchesContext ($ segment , $ multi ));
54+ }
55+
56+ public function excludedKeyForContextKind ()
57+ {
58+ $ c1 = LDContext::create ('key1 ' , 'kind1 ' );
59+ $ c2 = LDContext::create ('key2 ' , 'kind2 ' );
60+ $ multi = LDContext::createMulti ($ c1 , $ c2 );
61+ $ segment = ModelBuilders::segmentBuilder ('test ' )
62+ ->excludedContexts ('kind1 ' , 'key1 ' )
63+ ->rule (ModelBuilders::segmentRuleMatchingContext ($ c1 ))
64+ ->rule (ModelBuilders::segmentRuleMatchingContext ($ c2 ))
65+ ->build ();
66+ $ this ->assertFalse (self ::segmentMatchesContext ($ segment , $ c1 ));
67+ $ this ->assertTrue (self ::segmentMatchesContext ($ segment , $ c2 ));
68+ $ this ->assertFalse (self ::segmentMatchesContext ($ segment , $ multi ));
69+ }
70+
4371 public function testMatchingRuleWithFullRollout ()
4472 {
4573 global $ defaultContext ;
0 commit comments