From d2ba73fe139a1fb370f7fc42494ebbaf05fb55a8 Mon Sep 17 00:00:00 2001 From: Jessica Mauerhan Date: Thu, 24 Mar 2016 08:19:55 -0400 Subject: [PATCH] FallbackNodeProvider tests. --- .../Node/FallbackNodeProviderTest.php | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/src/Provider/Node/FallbackNodeProviderTest.php diff --git a/tests/src/Provider/Node/FallbackNodeProviderTest.php b/tests/src/Provider/Node/FallbackNodeProviderTest.php new file mode 100644 index 0000000..2b64949 --- /dev/null +++ b/tests/src/Provider/Node/FallbackNodeProviderTest.php @@ -0,0 +1,54 @@ +getMock('Ramsey\Uuid\Provider\NodeProviderInterface'); + $providerWithNode->expects($this->once()) + ->method('getNode') + ->willReturn('57764a07f756'); + $providerWithoutNode = $this->getMock('Ramsey\Uuid\Provider\NodeProviderInterface'); + $providerWithoutNode->expects($this->once()) + ->method('getNode') + ->willReturn(null); + + $provider = new FallbackNodeProvider([$providerWithoutNode, $providerWithNode]); + $provider->getNode(); + } + + public function testGetNodeReturnsNodeFromFirstProviderWithNode() + { + $providerWithoutNode = $this->getMock('Ramsey\Uuid\Provider\NodeProviderInterface'); + $providerWithoutNode->expects($this->once()) + ->method('getNode') + ->willReturn(null); + $providerWithNode = $this->getMock('Ramsey\Uuid\Provider\NodeProviderInterface'); + $providerWithNode->expects($this->once()) + ->method('getNode') + ->willReturn('57764a07f756'); + $anotherProviderWithoutNode = $this->getMock('Ramsey\Uuid\Provider\NodeProviderInterface'); + $anotherProviderWithoutNode->expects($this->never()) + ->method('getNode'); + + $provider = new FallbackNodeProvider([$providerWithoutNode, $providerWithNode, $anotherProviderWithoutNode]); + $node = $provider->getNode(); + $this->assertEquals('57764a07f756', $node); + } + + public function testGetNodeReturnsNullWhenNoNodesFound() + { + $providerWithoutNode = $this->getMock('Ramsey\Uuid\Provider\NodeProviderInterface'); + $providerWithoutNode->method('getNode') + ->willReturn(null); + + $provider = new FallbackNodeProvider([$providerWithoutNode]); + $node = $provider->getNode(); + $this->assertNull($node); + } +}