示例#1
0
 public function testWriterHandlesDeeplyNestedGroups()
 {
     // Test 2 + (3 - 3 + (33 - 23 + (2 * (9 / 3))))
     $this->calc->set(2)->add()->group(function (FluentCalculator $calc) {
         $calc->add(3)->subtract(3)->add()->group(function (FluentCalculator $calc) {
             $calc->add(33)->subtract(23)->add()->group(function (FluentCalculator $calc) {
                 $calc->set(2)->multiply()->group(function (FluentCalculator $calc) {
                     $calc->set(9)->divide(3);
                 });
             });
         });
     });
     $this->assertEquals('2 + (3 - 3 + (33 - 23 + (2 * (9 / 3))))', $this->getExpression());
 }
 public function testFluentAbsFunctionCalls()
 {
     $this->calculator->set(10)->add()->abs(-20)->abs(-20)->abs(-200);
     $this->assertEquals(250, $this->calculator->get());
 }