public function testIsNaryFunktion() { $funktion = Callables::newFunktion(function ($a, $b, $c) { return null; }); $this->assertFalse(Callables::isUnaryFunktion($funktion)); $this->assertFalse(Callables::isBinaryFunktion($funktion)); $this->assertTrue(Callables::isNaryFunktion($funktion)); }
public function testFunktion() { $this->assertEquals(Callables::newFunktion(self::get1Ary()), Funktion(self::get1Ary())); $this->assertEquals(Callables::newFunktion(self::get2Ary()), Funktion(self::get2Ary())); $this->assertEquals(Callables::newFunktion(self::get3Ary()), Funktion(self::get3Ary())); }
/** * Creates a new functor from a given callable. * * The actual instance depends on the callable's arity: * <ul> * <li>A 1-ary callable creates an unary functor</li> * <li>A 2-ary callable creates a binary functor</li> * <li>Otherwise a N-ary functor is created</li> * </ul> * * @param callable $functor * The given callable. * @return FunktionInterface */ function Funktion(callable $functor) : FunktionInterface { return Callables::newFunktion($functor); }