public function test($value)
{
switch ($this->comparison) {
case '=':
case '==':
return $value == $this->value;
case '===':
return $value === $this->value;
case '>':
return $value > $this->value;
case '<':
return $value < $this->value;
case '<=':
return $value <= $this->value;
case '>=':
return $value >= $this->value;
case '!=':
return $value != $this->value;
case '!==':
return $value !== $this->value;
default:
throw new UnexpectedValueException("Unknown comparison operator: " . $this->comparison);
}
}