public function testAddsFactoriesBeforeAndAtEnd()
 {
     $f1 = $this->getFactory();
     $f2 = $this->getFactory();
     $f3 = $this->getFactory('Guzzle\\Service\\Command\\Factory\\CompositeFactory');
     $f4 = $this->getFactory();
     $factory = new CompositeFactory();
     $factory->add($f1);
     $this->assertEquals(array($f1), $factory->getIterator()->getArrayCopy());
     $factory->add($f2);
     $this->assertEquals(array($f1, $f2), $factory->getIterator()->getArrayCopy());
     $factory->add($f3, $f2);
     $this->assertEquals(array($f1, $f3, $f2), $factory->getIterator()->getArrayCopy());
     $factory->add($f4, 'Guzzle\\Service\\Command\\Factory\\CompositeFactory');
     $this->assertEquals(array($f1, $f4, $f3, $f2), $factory->getIterator()->getArrayCopy());
 }