public function testNot()
{
$constFalse = fn\not(function () {
return true;
});
$constTrue = fn\not(function () {
return false;
});
$invert = fn\not(function ($bool) {
return $bool;
});
$nand = fn\not(fn\operator('&&'));
$this->assertFalse($constFalse());
$this->assertTrue($constTrue());
$this->assertFalse($invert(true));
$this->assertTrue($invert(false));
$this->assertFalse($nand(true, true));
$this->assertTrue($nand(true, false));
}