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); }