Example #1
0
 /**
  * @test
  */
 public function ifelse()
 {
     $ls = ['name' => 'James Tiberius Kirk'];
     $upper = F\compose('strtoupper', F\prop('name'));
     $expected = F\ifelse(F\has('name'), $upper, F\always(false));
     $this->assertEquals($expected($ls), 'JAMES TIBERIUS KIRK');
     $expected = F\ifelse(F\has('lastname'), $upper, F\always(false));
     $this->assertFalse($expected($ls));
 }
Example #2
0
 /**
  * @test
  */
 public function compose()
 {
     $f1 = F\compose(function ($x) {
         return "foo({$x})";
     }, function ($x) {
         return "bar({$x})";
     }, function ($x) {
         return "baz({$x})";
     });
     $this->assertSame($f1('x'), 'foo(bar(baz(x)))');
     $f2 = F\compose('cos', 'deg2rad');
     $this->assertEquals($f2(360), cos(deg2rad(360)));
 }