public function testBuildWithCombined() { $combined = array($this->getFaker()->unique()->word => array(CombiningSource::LEFT => $this->getFaker()->unique()->word, CombiningSource::RIGHT => $this->getFaker()->unique()->word), $this->getFaker()->unique()->word => array(CombiningSource::LEFT => $this->getFaker()->unique()->word, CombiningSource::RIGHT => $this->getFaker()->unique()->word), $this->getFaker()->unique()->word => array(CombiningSource::LEFT => $this->getFaker()->unique()->word, CombiningSource::RIGHT => $this->getFaker()->unique()->word)); foreach ($combined as $name => $leftRight) { $this->builder->combine($leftRight[CombiningSource::LEFT], $leftRight[CombiningSource::RIGHT], $name); } $this->builder->add($this->source1)->add($this->source2); $source = new ChainSource(); $source->add(new CircularGuardSource(new CombiningSource($combined, $source)))->add($this->source1)->add($this->source2); $this->assertEquals($source, $this->builder->build()); }