public function testHex2bin() { $this->assertEquals('10100001', databox_status::hex2bin('0x0A1')); $this->assertEquals('10100001', databox_status::hex2bin('0A1')); try { databox_status::hex2bin('G1'); $this->fail('Should raise an exception'); } catch (Exception $e) { $this->assertEquals('Non-hexadecimal value', $e->getMessage()); } }
public function __construct(Application $app, $status) { /** * We store a binary string */ if (is_int($status)) { $status = decbin($status); } elseif (preg_match('/^[01]+$/', $status)) { $status = (string) $status; } elseif (ctype_digit($status)) { $status = decbin((int) $status); } elseif (strpos($status, '0x') === 0 && ctype_xdigit(substr($status, 2))) { $status = \databox_status::hex2bin($status); } elseif (strpos($status, '0b') === 0 && preg_match('/^[01]+$/', substr($status, 2))) { $status = substr($status, 2); } elseif (ctype_xdigit($status)) { $status = \databox_status::hex2bin($status); } else { throw new \InvalidArgumentException('Invalid status argument'); } $this->status = $status; }
public function testHex2bin() { $this->assertEquals('10100001', databox_status::hex2bin(self::$DI['app'], '0x0A1')); $this->assertEquals('10100001', databox_status::hex2bin(self::$DI['app'], '0A1')); try { databox_status::hex2bin(self::$DI['app'], 'G1'); $this->fail('Should raise an exception'); } catch (Exception $e) { } }