public function testGetByTag()
{
$template = new atoum\template();
$this->assert->object($iterator = $template->getByTag(uniqid()))->isInstanceOf('mageekguy\\atoum\\template\\iterator')->sizeOf($iterator)->isZero();
$template->addChild($tag = new atoum\template\tag(uniqid()));
$this->assert->object($iterator = $template->getByTag(uniqid()))->isInstanceOf('mageekguy\\atoum\\template\\iterator')->sizeOf($iterator)->isZero()->object($iterator = $template->getByTag($tag->getTag()))->isInstanceOf('mageekguy\\atoum\\template\\iterator')->sizeOf($iterator)->isEqualTo(1)->object($iterator->current())->isIdenticalTo($tag);
$template->addChild($otherTag = new atoum\template\tag($tag->getTag()));
$this->assert->object($iterator = $template->getByTag(uniqid()))->isInstanceOf('mageekguy\\atoum\\template\\iterator')->sizeOf($iterator)->isZero()->object($iterator = $template->getByTag($tag->getTag()))->isInstanceOf('mageekguy\\atoum\\template\\iterator')->sizeOf($iterator)->isEqualTo(2)->object($iterator->current())->isIdenticalTo($tag)->object($iterator->next()->current())->isIdenticalTo($otherTag);
$tag->addChild($childTag = new atoum\template\tag($tag->getTag()));
$this->assert->object($iterator = $template->getByTag(uniqid()))->isInstanceOf('mageekguy\\atoum\\template\\iterator')->sizeOf($iterator)->isZero()->object($iterator = $template->getByTag($tag->getTag()))->isInstanceOf('mageekguy\\atoum\\template\\iterator')->sizeOf($iterator)->isEqualTo(3)->object($iterator->current())->isIdenticalTo($tag)->object($iterator->next()->current())->isIdenticalTo($childTag)->object($iterator->next()->current())->isIdenticalTo($otherTag);
}