12 private function getFactory($class =
'Guzzle\\Service\\Command\\Factory\\MapFactory')
14 return $mock = $this->getMockBuilder($class)
15 ->disableOriginalConstructor()
21 $factory =
new CompositeFactory(array($this->getFactory(), $this->getFactory()));
22 $this->assertEquals(2, count($factory));
23 $this->assertEquals(2, count(iterator_to_array($factory->getIterator())));
28 $f1 = $this->getFactory();
29 $f2 = $this->getFactory(
'Guzzle\\Service\\Command\\Factory\\CompositeFactory');
31 $this->assertNull($factory->find(
'foo'));
32 $this->assertNull($factory->find($this->getFactory()));
33 $this->assertSame($f1, $factory->find(
'Guzzle\\Service\\Command\\Factory\\MapFactory'));
34 $this->assertSame($f2, $factory->find(
'Guzzle\\Service\\Command\\Factory\\CompositeFactory'));
35 $this->assertSame($f1, $factory->find($f1));
36 $this->assertSame($f2, $factory->find($f2));
38 $this->assertFalse($factory->has(
'foo'));
39 $this->assertTrue($factory->has(
'Guzzle\\Service\\Command\\Factory\\MapFactory'));
40 $this->assertTrue($factory->has(
'Guzzle\\Service\\Command\\Factory\\CompositeFactory'));
46 $this->assertNull($factory->factory(
'foo'));
48 $f1 = $this->getFactory();
49 $mockCommand1 = $this->getMockForAbstractClass(
'Guzzle\\Service\\Command\\AbstractCommand');
51 $f1->expects($this->once())
53 ->with($this->equalTo(
'foo'))
54 ->will($this->returnValue($mockCommand1));
57 $this->assertSame($mockCommand1, $factory->factory(
'foo'));
62 $f1 = $this->getFactory();
63 $f2 = $this->getFactory();
64 $f3 = $this->getFactory(
'Guzzle\\Service\\Command\\Factory\\CompositeFactory');
65 $factories = array($f1, $f2, $f3);
68 $factory->remove(
'foo');
69 $this->assertEquals($factories, $factory->getIterator()->getArrayCopy());
71 $factory->remove($f1);
72 $this->assertEquals(array($f2, $f3), $factory->getIterator()->getArrayCopy());
74 $factory->remove(
'Guzzle\\Service\\Command\\Factory\\MapFactory');
75 $this->assertEquals(array($f3), $factory->getIterator()->getArrayCopy());
77 $factory->remove(
'Guzzle\\Service\\Command\\Factory\\CompositeFactory');
78 $this->assertEquals(array(), $factory->getIterator()->getArrayCopy());
80 $factory->remove(
'foo');
81 $this->assertEquals(array(), $factory->getIterator()->getArrayCopy());
86 $f1 = $this->getFactory();
87 $f2 = $this->getFactory();
88 $f3 = $this->getFactory(
'Guzzle\\Service\\Command\\Factory\\CompositeFactory');
89 $f4 = $this->getFactory();
94 $this->assertEquals(array($f1), $factory->getIterator()->getArrayCopy());
97 $this->assertEquals(array($f1, $f2), $factory->getIterator()->getArrayCopy());
99 $factory->add($f3, $f2);
100 $this->assertEquals(array($f1, $f3, $f2), $factory->getIterator()->getArrayCopy());
102 $factory->add($f4,
'Guzzle\\Service\\Command\\Factory\\CompositeFactory');
103 $this->assertEquals(array($f1, $f4, $f3, $f2), $factory->getIterator()->getArrayCopy());
108 $client = $this->getMock(
'Guzzle\\Service\\Client');
110 $a = $chain->getIterator()->getArrayCopy();
111 $this->assertEquals(1, count($a));
112 $this->assertInstanceOf(
'Guzzle\\Service\\Command\\Factory\\ConcreteClassFactory', $a[0]);
114 $description = $this->getMock(
'Guzzle\\Service\\Description\\ServiceDescription');
115 $client->expects($this->once())
116 ->method(
'getDescription')
117 ->will($this->returnValue($description));
119 $a = $chain->getIterator()->getArrayCopy();
120 $this->assertEquals(2, count($a));
121 $this->assertInstanceOf(
'Guzzle\\Service\\Command\\Factory\\ServiceDescriptionFactory', $a[0]);
122 $this->assertInstanceOf(
'Guzzle\\Service\\Command\\Factory\\ConcreteClassFactory', $a[1]);