From d20106a02113a154bc1dcefb887c505d67ada67f Mon Sep 17 00:00:00 2001 From: Daniel Carbone Date: Wed, 1 Oct 2014 08:10:39 -0500 Subject: [PATCH] Some more tests and such. --- src/UglyQueueManager.php | 4 +- tests/UglyQueue/UglyQueueTest.php | 4 +- .../UglyQueueManager/UglyQueueManagerTest.php | 108 +++++++++++++++++- tests/misc/cleanup.php | 21 +++- 4 files changed, 126 insertions(+), 11 deletions(-) diff --git a/src/UglyQueueManager.php b/src/UglyQueueManager.php index 5a42ccc..e4504d7 100644 --- a/src/UglyQueueManager.php +++ b/src/UglyQueueManager.php @@ -84,12 +84,12 @@ class UglyQueueManager implements \SplObserver, \SplSubject /** * @param UglyQueue $uglyQueue * @return \DCarbone\UglyQueueManager - * @throws \InvalidArgumentException + * @throws \RuntimeException */ public function addQueue(UglyQueue $uglyQueue) { if ($this->containsQueueWithName($uglyQueue->name)) - throw new \InvalidArgumentException('Queue named "'.$uglyQueue->name.'" already exists in this manager.'); + throw new \RuntimeException('Queue named "'.$uglyQueue->name.'" already exists in this manager.'); $this->queues[$uglyQueue->name] = $uglyQueue; diff --git a/tests/UglyQueue/UglyQueueTest.php b/tests/UglyQueue/UglyQueueTest.php index 883fea7..b221e17 100644 --- a/tests/UglyQueue/UglyQueueTest.php +++ b/tests/UglyQueue/UglyQueueTest.php @@ -33,7 +33,7 @@ class UglyQueueTest extends PHPUnit_Framework_TestCase */ public function testCanInitializeUglyQueueWithValidConfigArrayAndNoObservers() { - $uglyQueue = \DCarbone\UglyQueue::queueWithDirectoryPathAndObservers(dirname(__DIR__).'/misc/tasty-sandwich'); + $uglyQueue = \DCarbone\UglyQueue::queueWithDirectoryPathAndObservers(dirname(__DIR__).'/misc/queues/tasty-sandwich'); $this->assertInstanceOf('\\DCarbone\\UglyQueue', $uglyQueue); @@ -170,7 +170,7 @@ class UglyQueueTest extends PHPUnit_Framework_TestCase */ public function testCanInitializeExistingQueue() { - $uglyQueue = \DCarbone\UglyQueue::queueWithDirectoryPathAndObservers(dirname(__DIR__).'/misc/tasty-sandwich'); + $uglyQueue = \DCarbone\UglyQueue::queueWithDirectoryPathAndObservers(dirname(__DIR__).'/misc/queues/tasty-sandwich'); $this->assertInstanceOf('\\DCarbone\\UglyQueue', $uglyQueue); diff --git a/tests/UglyQueueManager/UglyQueueManagerTest.php b/tests/UglyQueueManager/UglyQueueManagerTest.php index dff3cd1..824adeb 100644 --- a/tests/UglyQueueManager/UglyQueueManagerTest.php +++ b/tests/UglyQueueManager/UglyQueueManagerTest.php @@ -5,6 +5,12 @@ */ class UglyQueueManagerTest extends PHPUnit_Framework_TestCase { + protected $reallyTastySandwich = array( + '0' => 'beef broth', + '1' => 'barbeque sauce', + '2' => 'boneless pork ribs', + ); + /** * @covers \DCarbone\UglyQueueManager::__construct * @covers \DCarbone\UglyQueueManager::init @@ -19,7 +25,7 @@ class UglyQueueManagerTest extends PHPUnit_Framework_TestCase public function testCanInitializeManagerWithConfigAndNoObservers() { $config = array( - 'queue-base-dir' => __DIR__.'/../misc/' + 'queue-base-dir' => __DIR__.'/../misc/queues' ); $manager = \DCarbone\UglyQueueManager::init($config); @@ -85,6 +91,106 @@ class UglyQueueManagerTest extends PHPUnit_Framework_TestCase $this->assertFalse($shouldBeFalse); } + /** + * @covers \DCarbone\UglyQueueManager::getQueueWithName + * @covers \DCarbone\UglyQueue::__get + * @uses \DCarbone\UglyQueueManager + * @uses \DCarbone\UglyQueue + * @depends testCanInitializeManagerWithConfigAndNoObservers + * @param \DCarbone\UglyQueueManager $manager + */ + public function testCanGetUglyQueueObjectFromManager(\DCarbone\UglyQueueManager $manager) + { + $uglyQueue = $manager->getQueueWithName('tasty-sandwich'); + + $this->assertInstanceOf('\\DCarbone\\UglyQueue', $uglyQueue); + $this->assertEquals('tasty-sandwich', $uglyQueue->name); + } + + /** + * @covers \DCarbone\UglyQueueManager::getQueueWithName + * @uses \DCarbone\UglyQueueManager + * @expectedException \InvalidArgumentException + * @depends testCanInitializeManagerWithConfigAndNoObservers + * @param \DCarbone\UglyQueueManager $manager + */ + public function testExceptionThrownWhenTryingToGetNonExistentQueueFromManager(\DCarbone\UglyQueueManager $manager) + { + $shouldNotExist = $manager->getQueueWithName('sandwiches'); + } + + /** + * @covers \DCarbone\UglyQueueManager::getQueueList + * @uses \DCarbone\UglyQueueManager + * @depends testCanInitializeManagerWithConfigAndNoObservers + * @param \DCarbone\UglyQueueManager $manager + */ + public function testCanGetListOfQueuesInManager(\DCarbone\UglyQueueManager $manager) + { + $queueList = $manager->getQueueList(); + + $this->assertInternalType('array', $queueList); + $this->assertCount(1, $queueList); + $this->assertContains('tasty-sandwich', $queueList); + } + + /** + * @covers \DCarbone\UglyQueueManager::getQueueWithName + * @covers \DCarbone\UglyQueueManager::addQueue + * @uses \DCarbone\UglyQueueManager + * @uses \DCarbone\UglyQueue + * @expectedException \RuntimeException + * @depends testCanInitializeManagerWithConfigAndNoObservers + * @param \DCarbone\UglyQueueManager $manager + */ + public function testExceptionThrownWhenReAddingQueueToManager(\DCarbone\UglyQueueManager $manager) + { + $uglyQueue = $manager->getQueueWithName('tasty-sandwich'); + + $manager->addQueue($uglyQueue); + } + + /** + * @covers \DCarbone\UglyQueueManager::addQueueAtPath + * @covers \DCarbone\UglyQueueManager::addQueue + * @covers \DCarbone\UglyQueueManager::getQueueWithName + * @uses \DCarbone\UglyQueueManager + * @uses \DCarbone\UglyQueue + * @depends testCanInitializeManagerWithConfigAndNoObservers + * @param \DCarbone\UglyQueueManager $manager + */ + public function testCanInitializeNewQueueAndAddToManager(\DCarbone\UglyQueueManager $manager) + { + $manager->addQueueAtPath(__DIR__.'/../misc/queues/really-tasty-sandwich'); + + $uglyQueue = $manager->getQueueWithName('really-tasty-sandwich'); + + $this->assertInstanceOf('\\DCarbone\\UglyQueue', $uglyQueue); + $this->assertEquals('really-tasty-sandwich', $uglyQueue->name); + + $queueList = $manager->getQueueList(); + + $this->assertInternalType('array', $queueList); + $this->assertCount(2, $queueList); + $this->assertContains('really-tasty-sandwich', $queueList); + } + + /** + * @covers \DCarbone\UglyQueueManager::removeQueueByName + * @uses \DCarbone\UglyQueueManager + * @depends testCanInitializeManagerWithConfigAndNoObservers + * @param \DCarbone\UglyQueueManager $manager + */ + public function testCanRemoveQueueFromManagerByName(\DCarbone\UglyQueueManager $manager) + { + $manager->removeQueueByName('really-tasty-sandwich'); + + $queueList = $manager->getQueueList(); + + $this->assertCount(1, $queueList); + $this->assertNotContains('really-tasty-sandwich', $queueList); + } + // /** // * @covers \DCarbone\UglyQueue::queueExists // * @uses \DCarbone\UglyQueue diff --git a/tests/misc/cleanup.php b/tests/misc/cleanup.php index a6b14d4..bc7caa8 100644 --- a/tests/misc/cleanup.php +++ b/tests/misc/cleanup.php @@ -1,13 +1,22 @@