diff --git a/src/FeatureSet.php b/src/FeatureSet.php index c33474e..8b9f553 100644 --- a/src/FeatureSet.php +++ b/src/FeatureSet.php @@ -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); } diff --git a/tests/FeatureSetTest.php b/tests/FeatureSetTest.php index 551338d..407322d 100644 --- a/tests/FeatureSetTest.php +++ b/tests/FeatureSetTest.php @@ -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()); + } }