public function testIsNumber()
 {
     // from js
     $this->assertFalse(__u::isNumber('string'), 'a string is not a number');
     $this->assertFalse(__u::isNumber(null), 'null is not a number');
     $this->assertTrue(__u::isNumber(3 * 4 - 7 / 10), 'but numbers are');
     // extra
     $this->assertFalse(__u::isNumber(acos(8)), 'invalid calculations (nan) are not numbers');
     $this->assertFalse(__u::isNumber('1'), 'strings of numbers are not numbers');
     $this->assertFalse(__u::isNumber(log(0)), 'infinite values are not numbers');
     $this->assertTrue(__u::isNumber(pi()));
     $this->assertTrue(__u::isNumber(M_PI));
     $this->assertFalse(__u(acos(8))->isNumber());
     $this->assertFalse(__u('1')->isNumber());
     $this->assertFalse(__u(log(0))->isNumber());
     $this->assertTrue(__u(pi())->isNumber());
     $this->assertTrue(__u(M_PI)->isNumber());
     $this->assertTrue(__u(1)->isNumber());
     // docs
     $this->assertTrue(__u::isNumber(1));
     $this->assertTrue(__u::isNumber(2.5));
     $this->assertFalse(__u::isNumber('5'));
 }