function it_should_always_return_true_for_one_hundered_percent(Feature $feature, Context $context) { $this->beConstructedWith(100); foreach (array(0, 10, 50, 99, 100) as $id) { $context->resolveArgument(Argument::any())->willReturn(new UserIdentifier($id)); $this->isActive($feature, $context)->shouldReturn(true); } }
/** * {@inheritdoc} */ public function isActive(Feature $feature, Context $context) { $arg = $context->resolveArgument($this); foreach ($this->supportedEnvironments as $environment) { if ($environment->isEqualTo($arg)) { return true; } } return false; }
/** * {@inheritdoc} */ public function isActive(Feature $feature, Context $context) { $arg = $context->resolveArgument($this); foreach ($this->supportedUserIdentifiers as $userIdentifier) { if ($userIdentifier->isEqualTo($arg)) { return true; } } return false; }
/** * {@inheritdoc} */ public function isActive(Feature $feature, Context $context) { $arg = $context->resolveArgument($this); return abs(crc32((string) $arg->getValue()) % 100) < $this->percentage; }
function it_is_not_active_for_users_who_doesnt_belong_to_feature(Feature $feature, Context $context) { $identifier = new UserIdentifier('*****@*****.**'); $context->resolveArgument(Argument::any())->willReturn($identifier); $this->isActive($feature, $context)->shouldReturn(false); }
function it_is_not_active_when_context_environment_argument_is_different(Feature $feature, Context $context) { $identifier = new Environment('local'); $context->resolveArgument(Argument::any())->willReturn($identifier); $this->isActive($feature, $context)->shouldReturn(false); }