public function testIsNaryPredicate() { $predicate = Callables::newPredicate(function ($a, $b, $c) { return false; }); $this->assertFalse(Callables::isUnaryPredicate($predicate)); $this->assertFalse(Callables::isBinaryPredicate($predicate)); $this->assertTrue(Callables::isNaryPredicate($predicate)); }
public function testPredicate() { $this->assertEquals(Callables::newPredicate(self::get1Ary()), Predicate(self::get1Ary())); $this->assertEquals(Callables::newPredicate(self::get2Ary()), Predicate(self::get2Ary())); $this->assertEquals(Callables::newPredicate(self::get3Ary()), Predicate(self::get3Ary())); }
/** * Creates a new predicate from a given callable. * * The actual instance depends on the callable's arity: * <ul> * <li>A 1-ary callable creates an unary predicate</li> * <li>A 2-ary callable creates a binary predicate</li> * <li>Otherwise a N-ary predicate is created</li> * </ul> * * @param callable $predicate * @return \intrawarez\sabertooth\callables\PredicateInterface */ function Predicate(callable $predicate) { return Callables::newPredicate($predicate); }