mirror of
https://github.com/ramsey/uuid.git
synced 2026-06-15 16:07:55 +03:00
Allow setting the node provider on the FeatureSet
This commit is contained in:
@@ -128,6 +128,11 @@ class FeatureSet
|
||||
*/
|
||||
private $timeGenerator;
|
||||
|
||||
/**
|
||||
* @var TimeProviderInterface
|
||||
*/
|
||||
private $timeProvider;
|
||||
|
||||
/**
|
||||
* @var ValidatorInterface
|
||||
*/
|
||||
@@ -278,11 +283,21 @@ class FeatureSet
|
||||
$this->dceSecurityGenerator = $this->buildDceSecurityGenerator($dceSecurityProvider);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the node provider to use in this environment
|
||||
*/
|
||||
public function setNodeProvider(NodeProviderInterface $nodeProvider): void
|
||||
{
|
||||
$this->nodeProvider = $nodeProvider;
|
||||
$this->timeGenerator = $this->buildTimeGenerator($this->timeProvider);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the time provider to use in this environment
|
||||
*/
|
||||
public function setTimeProvider(TimeProviderInterface $timeProvider): void
|
||||
{
|
||||
$this->timeProvider = $timeProvider;
|
||||
$this->timeGenerator = $this->buildTimeGenerator($timeProvider);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ use Ramsey\Uuid\Generator\DefaultNameGenerator;
|
||||
use Ramsey\Uuid\Generator\PeclUuidTimeGenerator;
|
||||
use Ramsey\Uuid\Guid\GuidBuilder;
|
||||
use Ramsey\Uuid\Math\BrickMathCalculator;
|
||||
use Ramsey\Uuid\Provider\NodeProviderInterface;
|
||||
use Ramsey\Uuid\Validator\ValidatorInterface;
|
||||
|
||||
class FeatureSetTest extends TestCase
|
||||
@@ -67,4 +68,13 @@ class FeatureSetTest extends TestCase
|
||||
|
||||
$this->assertInstanceOf(BrickMathCalculator::class, $featureSet->getCalculator());
|
||||
}
|
||||
|
||||
public function testSetNodeProvider(): void
|
||||
{
|
||||
$nodeProvider = Mockery::mock(NodeProviderInterface::class);
|
||||
$featureSet = new FeatureSet();
|
||||
$featureSet->setNodeProvider($nodeProvider);
|
||||
|
||||
$this->assertSame($nodeProvider, $featureSet->getNodeProvider());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user