Skip to content

Commit 1f05f7f

Browse files
committed
Add QueueAwareTrait
1 parent eaed5cd commit 1f05f7f

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

src/QueueAwareTrait.php

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
3+
namespace DominionEnterprises\Mongo;
4+
5+
/**
6+
* Trait for QueueAwareInterface implementation.
7+
*/
8+
trait QueueAwareTrait
9+
{
10+
/**
11+
* The mongoQueue instance.
12+
*
13+
* @var QueueInterface
14+
*/
15+
private $mongoQueue;
16+
17+
/**
18+
* Returns the Queue instance.
19+
*
20+
* @return QueueInterface
21+
*/
22+
public function getQueue()
23+
{
24+
return $this->mongoQueue;
25+
}
26+
27+
/**
28+
* Sets the Queue instance.
29+
*
30+
* @param QueueInterface $mongoQueue
31+
*
32+
* @return QueueAwareInterface
33+
*/
34+
public function setQueue(QueueInterface $mongoQueue)
35+
{
36+
$this->mongoQueue = $mongoQueue;
37+
return $this;
38+
}
39+
}

tests/QueueAwareTraitTest.php

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
namespace DominionEnterprisesTest\Mongo;
3+
4+
class QueueAwareTraitTest extends \PHPUnit_Framework_TestCase
5+
{
6+
/**
7+
* Verify basic behavior of setQueue().
8+
*
9+
* @test
10+
* @covers \DominionEnterprises\Mongo\QueueAwareTrait
11+
*
12+
* @return void
13+
*/
14+
public function setQueue()
15+
{
16+
$mockQueue = $this->getObjectForTrait('\DominionEnterprises\Mongo\QueueAwareTrait');
17+
$this->assertAttributeEquals(null, 'mongoQueue', $mockQueue);
18+
$mongoQueue = $this->getMock('\\DominionEnterprises\\Mongo\\QueueInterface');
19+
$mockQueue->setQueue($mongoQueue);
20+
$this->assertAttributeEquals($mongoQueue, 'mongoQueue', $mockQueue);
21+
}
22+
23+
/**
24+
* Verify basic behavior of getQueue().
25+
*
26+
* @test
27+
* @covers \DominionEnterprises\Mongo\QueueAwareTrait
28+
*
29+
* @return void
30+
*/
31+
public function getQueue()
32+
{
33+
$mockQueue = $this->getObjectForTrait('\DominionEnterprises\Mongo\QueueAwareTrait');
34+
$this->assertNull($mockQueue->getQueue());
35+
$mongoQueue = $this->getMock('\\DominionEnterprises\\Mongo\\QueueInterface');
36+
$mockQueue->setQueue($mongoQueue);
37+
$this->assertEquals($mongoQueue, $mockQueue->getQueue());
38+
}
39+
}

0 commit comments

Comments
 (0)