public function testArity() { $this->assertEquals(Callables::arity(self::get0Ary()), arity(self::get0Ary())); $this->assertEquals(Callables::arity(self::get1Ary()), arity(self::get1Ary())); $this->assertEquals(Callables::arity(self::get2Ary()), arity(self::get2Ary())); $this->assertEquals(Callables::arity(self::get3Ary()), arity(self::get3Ary())); }
public function testArity() { $this->assertEquals(1, Callables::arity(function ($a) { return null; })); $this->assertEquals(2, Callables::arity(function ($a, $b) { return null; })); $this->assertEquals(3, Callables::arity(function ($a, $b, $c) { return null; })); $this->assertGreaterThan(2, Callables::arity(function ($a, $b, $c) { return null; })); $this->assertEquals(2, Callables::arity(BinaryConsumer(function ($a, $b) { echo "asdf"; }))); }
/** * * @param callable $callable * @return int */ function arity(callable $callable) : int { return Callables::arity($callable); }