assertIsString($v1); $this->assertSame(Version::Time, $uuid->getFields()->getVersion()); } public function testV2ReturnsVersion2UuidString(): void { $v2 = v2( Uuid::DCE_DOMAIN_PERSON, new IntegerObject('1004'), new Hexadecimal('aabbccdd0011'), 63 ); /** @var FieldsInterface $fields */ $fields = Uuid::fromString($v2)->getFields(); $this->assertIsString($v2); $this->assertSame(Version::DceSecurity, $fields->getVersion()); } public function testV3ReturnsVersion3UuidString(): void { $ns = Uuid::fromString(Uuid::NAMESPACE_URL); $v3 = v3($ns, 'https://example.com/foo'); /** @var UuidInterface $uuid */ $uuid = Uuid::fromString($v3); $this->assertIsString($v3); $this->assertSame(Version::HashMd5, $uuid->getFields()->getVersion()); } public function testV4ReturnsVersion4UuidString(): void { $v4 = v4(); /** @var UuidInterface $uuid */ $uuid = Uuid::fromString($v4); $this->assertIsString($v4); $this->assertSame(Version::Random, $uuid->getFields()->getVersion()); } public function testV5ReturnsVersion5UuidString(): void { $ns = Uuid::fromString(Uuid::NAMESPACE_URL); $v5 = v5($ns, 'https://example.com/foo'); /** @var UuidInterface $uuid */ $uuid = Uuid::fromString($v5); $this->assertIsString($v5); $this->assertSame(Version::HashSha1, $uuid->getFields()->getVersion()); } public function testV6ReturnsVersion6UuidString(): void { $v6 = v6( new Hexadecimal('aabbccdd0011'), 1234 ); /** @var FieldsInterface $fields */ $fields = Uuid::fromString($v6)->getFields(); $this->assertIsString($v6); $this->assertSame(Version::ReorderedTime, $fields->getVersion()); } }