/** * @covers PolicySet */ public function testPolicySet() { // Test combining algorithm and default effect. $policySet = new PolicySet(); self::assertEquals(COMBINING_DENY_OVERRIDES, $policySet->getCombiningAlgorithm()); self::assertEquals(AUTHORIZATION_DENY, $policySet->getEffectIfNoPolicyApplies()); $policySet = new PolicySet(COMBINING_PERMIT_OVERRIDES); $policySet->setEffectIfNoPolicyApplies(AUTHORIZATION_PERMIT); self::assertEquals(COMBINING_PERMIT_OVERRIDES, $policySet->getCombiningAlgorithm()); self::assertEquals(AUTHORIZATION_PERMIT, $policySet->getEffectIfNoPolicyApplies()); // Test adding policies. $policySet->addPolicy($policy1 = new AuthorizationPolicy('policy1')); $policySet->addPolicy($policy2 = new AuthorizationPolicy('policy2')); $policySet->addPolicy($policy3 = new AuthorizationPolicy('policy3'), $addToTop = true); self::assertEquals(array($policy3, $policy1, $policy2), $policySet->getPolicies()); }