assertEquals($calculator->execute($expression), $phpResult); } public function testZeroDevision() { $calculator = new MathExecutor(); $this->assertEquals($calculator->execute('1 / 0'), 0); } /** * 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('2 * 2 + 3 * 3'), array('1 + 0.6 - 3 * 2 / 50'), array('(5 + 3) * -1'), array('2+2*2'), array('(2+2)*2'), array('(2+2)*-2'), array('(2+-2)*2'), array('sin(10) * cos(50) / min(10, 20/2)'), array('100500 * 3.5E5'), array('100500 * 3.5E-5') ); } }