public function testTagCollection() { $track = new Track(); $this->assertFalse($track->containsTag('t')); $track->addTag('t'); $this->assertTrue($track->containsTag('t')); $track->removeTag('t'); $this->assertFalse($track->containsTag('t')); //Repeat Tag $this->assertFalse($track->containsTag('t')); $track->addTag('t'); $track->addTag('t'); $this->assertTrue($track->containsTag('t')); $track->removeTag('t'); $this->assertFalse($track->containsTag('t')); $this->assertFalse($track->removeTag('t')); //containsAllTag and containsAnyTag $track->addTag('t1'); $track->addTag('t2'); $track->addTag('t3'); $this->assertTrue($track->containsAnyTag(array('t0', 't2'))); $this->assertTrue($track->containsAnyTag(array('t2', 't3'))); $this->assertFalse($track->containsAnyTag(array('t0', 't4'))); $this->assertTrue($track->containsAllTags(array('t1', 't2'))); $this->assertTrue($track->containsAllTags(array('t1'))); $this->assertFalse($track->containsAllTags(array('t0', 't2'))); $this->assertFalse($track->containsAllTags(array('t0', 't1', 't2', 't3'))); }