public function testBuildWithFallbacks() { $fallbackses = array($this->getFaker()->unique()->word => array($this->getFaker()->unique()->word, $this->getFaker()->unique()->word, $this->getFaker()->unique()->word), $this->getFaker()->unique()->word => array($this->getFaker()->unique()->word)); foreach ($fallbackses as $name => $fallbacks) { foreach ($fallbacks as $fallback) { $this->builder->addFallback($name, $fallback); } } $this->builder->add($this->source1)->add($this->source2); $source = new ChainSource(); $source->add(new CircularGuardSource(new FallbackSource($fallbackses, $source)))->add($this->source1)->add($this->source2); $this->assertEquals($source, $this->builder->build()); }