aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJavier Marín <javier@marinros.com>2021-07-14 05:12:41 +0300
committerGitHub <noreply@github.com>2021-07-14 05:12:41 +0300
commitd1d27b494dececc4e96e608d0bb47fd948d7f959 (patch)
tree02e73bd4eb6772cc3432667fcea7b64e413616d0 /tests
parentaa37abbaeb73ac1cac5798608da51d813e976a25 (diff)
PhpStan support, consts visibilty and name for tokens (#89)
* Added handler to define not found variables Added support for string variables Fixed strings and ints comparison error * Check if variables have scalar types (int, float, string and bool) Better $onVarNotFound logic * Better support for null variables * Better support for null variables * Better support for null variables * Allow null values in `setVar` method * Support for unary positive operator * Add PhpStan config file Fix PhpStan warnings Set consts visibility Add name info to variable tokens for easier debugging Co-authored-by: Javier Marín <contacto@ideatic.net>
Diffstat (limited to 'tests')
-rw-r--r--tests/MathTest.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/MathTest.php b/tests/MathTest.php
index f37d0ec..d086acb 100644
--- a/tests/MathTest.php
+++ b/tests/MathTest.php
@@ -266,6 +266,17 @@ class MathTest extends TestCase
$this->assertEquals(0, $calculator->execute('10 / 0'));
}
+ public function testUnaryOperators()
+ {
+ $calculator = new MathExecutor();
+ $this->assertEquals(5, $calculator->execute('+5'));
+ $this->assertEquals(5, $calculator->execute('+(3+2)'));
+ $this->assertEquals(-5, $calculator->execute('-5'));
+ $this->assertEquals(5, $calculator->execute('-(-5)'));
+ $this->assertEquals(-5, $calculator->execute('+(-5)'));
+ $this->assertEquals(-5, $calculator->execute('-(3+2)'));
+ }
+
public function testZeroDivisionException()
{
$calculator = new MathExecutor();