Пример #1
0
 public function calculate($expression)
 {
     $stack = array();
     foreach ($expression as $part) {
         if (in_array($part, array('+', '-', '*', '/'))) {
             $b = array_pop($stack);
             $a = array_pop($stack);
             $operation = OperationFactory::createOperation($part);
             $result = $operation->calculate($a, $b);
             array_push($stack, $result);
         } else {
             array_push($stack, $part);
         }
     }
     return $stack[0];
 }
Пример #2
0
<?php

define('ROOT_PATH', dirname(__FILE__));
require_once ROOT_PATH . '/../../Loader.php';
$opra = OperationFactory::createOperation('+');
$opra->setNumberA(11);
$opra->setNumberB(33);
echo $opra->getResult();
Пример #3
0
 public function testCreateUnknown()
 {
     $this->assertNull(OperationFactory::createOperation(''));
 }