public function testUnaryOperations()
{
$valueSet = [[1], [0]];
$this->assertRecompilesCorrectly(function ($i) {
return -$i;
}, $valueSet);
$this->assertRecompilesCorrectly(function ($i) {
return !$i;
}, $valueSet);
$this->assertRecompilesCorrectly(function ($i) {
return ~$i;
}, $valueSet);
$this->assertRecompilesCorrectly(function ($i) {
return +$i;
}, $valueSet);
$this->assertRecompilesCorrectly(function ($i) {
return $i++;
}, $valueSet);
$this->assertRecompilesCorrectly(function ($i) {
return $i--;
}, $valueSet);
$this->assertRecompilesCorrectly(function ($i) {
return ++$i;
}, $valueSet);
$this->assertRecompilesCorrectly(function ($i) {
return --$i;
}, $valueSet);
}