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')); }