aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Wells <brucekwells@gmail.com>2021-03-05 04:08:57 +0300
committerGitHub <noreply@github.com>2021-03-05 04:08:57 +0300
commitaa37abbaeb73ac1cac5798608da51d813e976a25 (patch)
treeb5c4bd335e52536ccab6f4533290d7d6fc3f8596
parent16dde0115816e69a7964d14cd3f5e63e80a89cd9 (diff)
Release prep (#86)V2.1.8
-rw-r--r--README.md7
-rw-r--r--tests/MathTest.php25
2 files changed, 16 insertions, 16 deletions
diff --git a/README.md b/README.md
index f589116..645a069 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
* Unlimited variable name lengths
* String support, as function parameters or as evaluated as a number by PHP
* Exceptions on divide by zero, or treat as zero
-* Unary Minus (e.g. -3)
+* Unary Plus and Minus (e.g. +3 or -sin(12))
* Pi ($pi) and Euler's number ($e) support to 11 decimal places
* Easily extensible
@@ -176,9 +176,6 @@ $executor->addOperator("/", false, 180, function($a, $b) {
echo $executor->execute('1/0');
```
-## Unary Minus Operator:
-Negative numbers are supported via the unary minus operator. Positive numbers are not explicitly supported as unsigned numbers are assumed positive.
-
## String Support:
Expressions can contain double or single quoted strings that are evaluated the same way as PHP evalutes strings as numbers. You can also pass strings to functions.
@@ -202,4 +199,4 @@ Full class documentation via [PHPFUI/InstaDoc](http://phpfui.com/?n=NXP&c=MathEx
## Future Enhancements
-This package will continue to track currently supported versions of PHP. PHP 7.1 and earlier support will be dropped when PHP 8 is released.
+This package will continue to track currently supported versions of PHP.
diff --git a/tests/MathTest.php b/tests/MathTest.php
index 259de2c..f37d0ec 100644
--- a/tests/MathTest.php
+++ b/tests/MathTest.php
@@ -58,6 +58,17 @@ class MathTest extends TestCase
['(4*2) - 5'],
['4*-5'],
['4 * -5'],
+ ['+5'],
+ ['+(3+2)'],
+ ['+(+3+2)'],
+ ['+(-3+2)'],
+ ['-5'],
+ ['-(-5)'],
+ ['-(+5)'],
+ ['+(-5)'],
+ ['+(+5)'],
+ ['-(3+2)'],
+ ['-(-3+-2)'],
['abs(1.5)'],
['acos(0.15)'],
@@ -92,6 +103,9 @@ class MathTest extends TestCase
['rad2deg(1.5)'],
['round(1.5)'],
['sin(1.5)'],
+ ['sin(12)'],
+ ['+sin(12)'],
+ ['-sin(12)'],
['sinh(1.5)'],
['sqrt(1.5)'],
['tan(1.5)'],
@@ -252,17 +266,6 @@ 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();