mirror of
https://github.com/ramsey/uuid.git
synced 2026-06-17 16:26:51 +03:00
Add fromDateTime() to create version 1 UUIDs from DateTime instances
Fixes #28
This commit is contained in:
@@ -12,8 +12,11 @@ use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Ramsey\Uuid\BinaryUtils;
|
||||
use Ramsey\Uuid\Converter\TimeConverterInterface;
|
||||
use Ramsey\Uuid\Exception\RandomSourceException;
|
||||
use Ramsey\Uuid\Exception\TimeSourceException;
|
||||
use Ramsey\Uuid\FeatureSet;
|
||||
use Ramsey\Uuid\Generator\DefaultTimeGenerator;
|
||||
use Ramsey\Uuid\Provider\NodeProviderInterface;
|
||||
use Ramsey\Uuid\Provider\Time\FixedTimeProvider;
|
||||
use Ramsey\Uuid\Provider\TimeProviderInterface;
|
||||
use Ramsey\Uuid\Test\TestCase;
|
||||
use Ramsey\Uuid\Type\Hexadecimal;
|
||||
@@ -189,4 +192,22 @@ class DefaultTimeGeneratorTest extends TestCase
|
||||
|
||||
$defaultTimeGenerator->generate($this->nodeId);
|
||||
}
|
||||
|
||||
public function testDefaultTimeGeneratorThrowsExceptionForLargeGeneratedValue(): void
|
||||
{
|
||||
$timeProvider = new FixedTimeProvider(new Time('1832455114570', '955162'));
|
||||
$featureSet = new FeatureSet();
|
||||
$timeGenerator = new DefaultTimeGenerator(
|
||||
$featureSet->getNodeProvider(),
|
||||
$featureSet->getTimeConverter(),
|
||||
$timeProvider
|
||||
);
|
||||
|
||||
$this->expectException(TimeSourceException::class);
|
||||
$this->expectExceptionMessage(
|
||||
'The generated time of \'10000000000000004\' is larger than expected'
|
||||
);
|
||||
|
||||
$timeGenerator->generate();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user