/** * @param Configuration $configuration * * @return Container */ public function build(Configuration $configuration) { if (!$this->filesystem->isCacheFresh()) { $container = $this->compile($configuration); $this->filesystem->dump($container); } return $this->containerLoader->loadFrom($configuration->getContainerFilePath()); }
function it_loads_an_existing_container_if_cache_is_fresh(ContainerBuilder $containerBuilder, ContainerLoader $containerLoader, Filesystem $filesystem, Configuration $configuration, Loader $loader) { $filesystem->isCacheFresh()->willReturn(true); $filesystem->dump(Argument::any())->shouldNotBeCalled(); $loader->loadContainer(Argument::any())->shouldNotBeCalled(); $this->build($configuration)->shouldReturn($containerBuilder); }