Improved tests for ! operator (#131)

This commit is contained in:
Bruce Wells 2023-09-27 16:28:28 -04:00 committed by GitHub
parent 1968057f42
commit f6750c9c3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -256,8 +256,15 @@ class MathTest extends TestCase
['7 % 4'], ['7 % 4'],
['99 % 4'], ['99 % 4'],
['123 % 7'], ['123 % 7'],
['!(1||0)'], ['!(1||0)'],
['!(1&&0)'], ['!(1&&0)'],
['!(1)'],
['!(0)'],
['! 1'],
['! 0'],
['!1'],
['!0'],
]; ];
} }
@ -495,8 +502,15 @@ class MathTest extends TestCase
['7 % 4'], ['7 % 4'],
['99 % 4'], ['99 % 4'],
['123 % 7'], ['123 % 7'],
['!(1||0)'], ['!(1||0)'],
['!(1&&0)'], ['!(1&&0)'],
['!(1)'],
['!(0)'],
['! 1'],
['! 0'],
['!1'],
['!0'],
]; ];
} }
@ -582,6 +596,21 @@ class MathTest extends TestCase
$this->assertEquals(0.0, $calculator->execute('$ + $four')); $this->assertEquals(0.0, $calculator->execute('$ + $four'));
} }
public function testNotVariableOperator() : void
{
$calculator = new MathExecutor();
$calculator->setVar('one', 1);
$calculator->setVar('zero', 0);
$this->assertEquals(false, $calculator->execute('! $one'));
$this->assertEquals(false, $calculator->execute('!$one'));
$this->assertEquals(false, $calculator->execute('! ($one)'));
$this->assertEquals(false, $calculator->execute('!($one)'));
$this->assertEquals(true, $calculator->execute('! $zero'));
$this->assertEquals(true, $calculator->execute('!$zero'));
$this->assertEquals(true, $calculator->execute('! ($zero)'));
$this->assertEquals(true, $calculator->execute('!($zero)'));
}
public function testExponentiation() : void public function testExponentiation() : void
{ {
$calculator = new MathExecutor(); $calculator = new MathExecutor();