aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
l---------bin/phpunit1
-rw-r--r--composer.json9
-rw-r--r--src/NXP/Classes/Token/TokenDegree.php4
-rw-r--r--tests/MathTest.php6
5 files changed, 20 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 9f33dd5..83436db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
vendor/
-.idea/ \ No newline at end of file
+.idea/
+composer.lock \ No newline at end of file
diff --git a/bin/phpunit b/bin/phpunit
new file mode 120000
index 0000000..4ba3256
--- /dev/null
+++ b/bin/phpunit
@@ -0,0 +1 @@
+../vendor/phpunit/phpunit/phpunit \ No newline at end of file
diff --git a/composer.json b/composer.json
index a32dc52..dc35c2f 100644
--- a/composer.json
+++ b/composer.json
@@ -11,7 +11,16 @@
"email": "frei@neonxp.info"
}
],
+ "require": {
+ "php": ">=5.6"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~5.0"
+ },
"autoload": {
"psr-0": {"NXP": "src/"}
+ },
+ "config": {
+ "bin-dir": "bin"
}
}
diff --git a/src/NXP/Classes/Token/TokenDegree.php b/src/NXP/Classes/Token/TokenDegree.php
index 8488dcd..c31b66e 100644
--- a/src/NXP/Classes/Token/TokenDegree.php
+++ b/src/NXP/Classes/Token/TokenDegree.php
@@ -41,13 +41,13 @@ class TokenDegree extends AbstractOperator
/**
* @param InterfaceToken[] $stack
- * @return $this
+ * @return TokenNumber
*/
public function execute(&$stack)
{
$op2 = array_pop($stack);
$op1 = array_pop($stack);
- $result = $op1->getValue() ^ $op2->getValue();
+ $result = $op1->getValue() ** $op2->getValue();
return new TokenNumber($result);
}
diff --git a/tests/MathTest.php b/tests/MathTest.php
index f8a271e..a83a0d4 100644
--- a/tests/MathTest.php
+++ b/tests/MathTest.php
@@ -33,6 +33,12 @@ class MathTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($calculator->execute('1 / 0'), 0);
}
+ public function testExponentiation()
+ {
+ $calculator = new MathExecutor();
+ $this->assertEquals($calculator->execute('10 ^ 2'), 100);
+ }
+
/**
* Expressions data provider
*/