public function testImplementsSubjectPartOfObserverPattern()
{
$subject = new Subject();
$observerA = $this->getMockForAbstractClass('\\SplObserver');
$observerA->expects($this->once())->method('update')->with($subject);
$subject->attach($observerA);
$observerB = $this->getMockForAbstractClass('\\SplObserver');
$observerB->expects($this->never())->method('update')->with($subject);
$subject->attach($observerB);
$subject->detach($observerB);
$subject->notify();
}