Example #1
0
 protected function getWrapper()
 {
     if (ServicesContainer::has(ConcreteWrapper::class)) {
         $wrapper = ServicesContainer::resolve(ConcreteWrapper::class);
     } else {
         $wrapper = new ConcreteWrapper();
     }
     return $wrapper;
 }
Example #2
0
 public function testResolve_withNotExistingAcceptsContract_shouldThrowExpectedException()
 {
     //
     // @expected
     //
     $expectedException = UnresolvableException::class;
     $this->setExpectedException($expectedException);
     $accepts = [WrapperContract::class];
     $i = ServicesContainer::getInstance();
     $i->attachable($accepts);
     $i->attach(static::fooWrapper(), WrapperContract::class);
     //
     // Instead resolve WrapperContract::class
     // we use Wrapper::class (ConcreteWrapper::class)
     // and expected it's throw UnresolvableException
     //
     $result = ServicesContainer::getInstance()->resolve(Wrapper::class)->exec(['foo']);
 }
Example #3
0
 public function testGetResult_withStubWrapper_withDefaultClosure_shouldReturnExpectValue()
 {
     $expected = 'bar';
     //
     // Attach stub wrapper
     // into ServicesContrainer
     // with WrapperContract as alias
     //
     $wrapper = static::stubWrapper();
     ServicesContainer::attach($wrapper, Wrapper::class);
     $template = ['foo'];
     $shell = new Shell($template, []);
     $result = $shell->getResult();
     $this->assertEquals($expected, $result);
 }