assertSame($expected, $hexadecimal->toString()); $this->assertSame($expected, (string) $hexadecimal); } /** * @phpcsSuppress SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingTraversableTypeHintSpecification */ public function provideHex(): array { return [ [ 'value' => '0xFFFF', 'expected' => 'ffff', ], [ 'value' => '0123456789abcdef', 'expected' => '0123456789abcdef', ], [ 'value' => 'ABCDEF', 'expected' => 'abcdef', ], ]; } /** * @dataProvider provideHexBadValues */ public function testHexadecimalTypeThrowsExceptionForBadValues(string $value): void { $this->expectException(InvalidArgumentException::class); $this->expectExceptionMessage( 'Value must be a hexadecimal number' ); new Hexadecimal($value); } /** * @phpcsSuppress SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingTraversableTypeHintSpecification */ public function provideHexBadValues(): array { return [ ['-123456.789'], ['123456.789'], ['foobar'], ['0xfoobar'], ]; } }