DefaultUuidBuilderTest.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. declare(strict_types=1);
  3. namespace Ramsey\Uuid\Test\Builder;
  4. use Mockery;
  5. use Ramsey\Uuid\Builder\DefaultUuidBuilder;
  6. use Ramsey\Uuid\Codec\CodecInterface;
  7. use Ramsey\Uuid\Converter\NumberConverterInterface;
  8. use Ramsey\Uuid\Converter\TimeConverterInterface;
  9. use Ramsey\Uuid\Test\TestCase;
  10. use Ramsey\Uuid\Uuid;
  11. use function hex2bin;
  12. use function implode;
  13. class DefaultUuidBuilderTest extends TestCase
  14. {
  15. public function testBuildCreatesUuid(): void
  16. {
  17. $numberConverter = Mockery::mock(NumberConverterInterface::class);
  18. $timeConverter = Mockery::mock(TimeConverterInterface::class);
  19. $codec = Mockery::mock(CodecInterface::class);
  20. $builder = new DefaultUuidBuilder($numberConverter, $timeConverter);
  21. $fields = [
  22. 'time_low' => '754cd475',
  23. 'time_mid' => '7e58',
  24. 'time_hi_and_version' => '4411',
  25. 'clock_seq_hi_and_reserved' => '93',
  26. 'clock_seq_low' => '22',
  27. 'node' => 'be0725c8ce01',
  28. ];
  29. $bytes = (string) hex2bin(implode('', $fields));
  30. $result = $builder->build($codec, $bytes);
  31. $this->assertInstanceOf(Uuid::class, $result);
  32. }
  33. }