Esempio n. 1
0
 public function testFnNotEqual()
 {
     $fn = FnGen::fnIsNotEqual(0);
     $this->assertFalse($fn(0));
     $this->assertFalse($fn('0'));
     $this->assertFalse($fn(false));
     $this->assertFalse($fn(null));
     $this->assertFalse($fn('hello'));
     // <-- sad truth about PHP.
     $this->assertFalse($fn(0.0));
     $this->assertTrue($fn(1));
     $this->assertTrue($fn(true));
     $this->assertTrue($fn('100'));
     $fn = FnGen::fnIsNotEqual('hello');
     $this->assertFalse($fn('hello'));
     $this->assertFalse($fn(true));
     // <-- also true.
     $this->assertFalse($fn(0));
     // <-- sad truth about PHP.
     $this->assertFalse($fn(0.0));
     // <-- again, sadly this is true
     $this->assertTrue($fn('Hello'));
     $this->assertTrue($fn('0'));
     $this->assertTrue($fn(null));
     $this->assertTrue($fn(false));
     $fn1 = FnGen::fnIsNotEqual(0);
     $fn2 = FnGen::fnIsEqual(1);
     $this->assertEquals($fn1, $fn2);
     // <-- closure function == closure function --- should not be relied on.
 }