public static fromPredicate ( callable $f, $value ) | ||
$f | callable |
public static function fromPredicate(callable $f, $value)
{
return $f($value) ? Option::some($value) : Option::none();
}
public function testFromPredicate_WithUnmatched_ReturnsNone() { $expect = 13; $f = function ($input) { return false; }; $ifSome = function ($input) { $this->fail(); }; $ifNone = function () use($expect) { return $expect; }; $actual = Option::fromPredicate($f, $expect)->match($ifSome, $ifNone); $this->assertEquals($expect, $actual); }