/** * @covers ::offsetUnset */ public function test_offsetUnset() { $Subscriber = new MockEventSubscriber2(); $this->Container->append($Subscriber); $this->Container->append($Subscriber); $this->assertCount(2, $this->Container, 'SubscriberContainer::offsetSet() Failed to accept subscribers'); unset($this->Container[0]); $this->assertCount(1, $this->Container, 'SubscriberContainer::offsetSet() Failed to accept subscribers'); unset($this->Container[1]); $this->assertFalse($this->Mediator->isRegistered('pre.foo'), 'SubscriberContainer::offsetUnset() Failed to unsubscribe events'); # Invalid arguments unset($this->Container[100]); }
/** * @depends test_isRegistered * @covers ::remSubscriber */ public function test_remSubscriber() { # Test normal subscriber $EventSubscriber = new MockEventSubscriber(); $this->Mediator->addSubscriber($EventSubscriber); $this->Mediator->remSubscriber($EventSubscriber); $this->assertFalse($this->Mediator->isRegistered('pre.foo'), 'Event name pre.foo should have no subscribers'); $this->assertFalse($this->Mediator->isRegistered('post.foo'), 'Event name post.foo should have no subscribers'); # Test subscriber with priorities $EventSubscriber = new MockEventSubscriberWithPriorities(); $this->Mediator->addSubscriber($EventSubscriber); $this->Mediator->remSubscriber($EventSubscriber); $this->assertFalse($this->Mediator->isRegistered('pre.foo'), 'Event name pre.foo should have no subscribers'); # Test subscriber with multiple callbacks $EventSubscriber = new MockEventSubscriberWithMultipleCallbacks(); $this->Mediator->addSubscriber($EventSubscriber); $this->Mediator->remSubscriber($EventSubscriber); $this->assertFalse($this->Mediator->isRegistered('pre.foo'), 'Event name pre.foo should have no subscribers'); }