protected function getWrapper() { if (ServicesContainer::has(ConcreteWrapper::class)) { $wrapper = ServicesContainer::resolve(ConcreteWrapper::class); } else { $wrapper = new ConcreteWrapper(); } return $wrapper; }
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']); }
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); }