aboutsummaryrefslogtreecommitdiff
path: root/tests/MathTest.php
diff options
context:
space:
mode:
authorzhukv <zhuk2205@gmail.com>2013-08-03 14:47:47 +0400
committerzhukv <zhuk2205@gmail.com>2013-08-03 14:47:47 +0400
commiteb9c3651614dd5e5aef067880092e9f622c264df (patch)
treee093d7928420255e986acb44d4ab34634f601c52 /tests/MathTest.php
parent253fb694a3fcafa3f9ea6da6681f0b176cdec1f4 (diff)
Fix to PSR standart, fix tokenizer, fix function executor.
Diffstat (limited to 'tests/MathTest.php')
-rw-r--r--tests/MathTest.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/MathTest.php b/tests/MathTest.php
new file mode 100644
index 0000000..ba944fe
--- /dev/null
+++ b/tests/MathTest.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * This file is part of the MathExecutor package
+ *
+ * (c) Alexander Kiryukhin
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code
+ */
+
+namespace NXP\Tests;
+
+use \NXP\MathExecutor;
+
+class MathTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @dataProvider providerExpressions
+ */
+ public function testCalculating($expression)
+ {
+ $calculator = new MathExecutor();
+
+ /** @var float $phpResult */
+ eval('$phpResult = ' . $expression . ';');
+ $this->assertEquals($calculator->execute($expression), $phpResult);
+ }
+
+ /**
+ * Expressions data provider
+ */
+ public function providerExpressions()
+ {
+ return array(
+ array('0.1 + 0.2'),
+ array('1 + 2'),
+
+ array('0.1 - 0.2'),
+ array('1 - 2'),
+
+ array('0.1 * 2'),
+ array('1 * 2'),
+
+ array('0.1 / 0.2'),
+ array('1 / 2'),
+
+ array('1 + 0.6 - (3 * 2 / 50)')
+ );
+ }
+} \ No newline at end of file