public function removeTagRemovesAPreviouslySetTag()
{
$taggedSession = new Session();
$this->inject($taggedSession, 'bootstrap', $this->mockBootstrap);
$this->inject($taggedSession, 'settings', $this->settings);
$this->inject($taggedSession, 'metaDataCache', $this->createCache('Meta'));
$this->inject($taggedSession, 'storageCache', $this->createCache('Storage'));
$this->inject($taggedSession, 'objectManager', $this->mockObjectManager);
$taggedSession->initializeObject();
$taggedSession->start();
$taggedSession->addTag('SampleTag');
$taggedSession->addTag('AnotherTag');
$taggedSession->removeTag('SampleTag');
$taggedSession->addTag('YetAnotherTag');
$taggedSession->removeTag('DoesntExistButDoesNotAnyHarm');
$this->assertEquals(['AnotherTag', 'YetAnotherTag'], array_values($taggedSession->getTags()));
}