Example #1
0
 public function testSingletonRegistration()
 {
     $simpleClass = new SimpleClass();
     $simpleClass->foo = "bar";
     $this->container->registerSingleton(SimpleClass::class, $simpleClass);
     $objectA = $this->container->getSingleton(SimpleClass::class);
     $this->assertEquals("bar", $objectA->foo);
     $this->container->clearSingleton(SimpleClass::class);
     $this->container->registerSingleton(SimpleClass::class, function () {
         $simpleClass = new SimpleClass();
         $simpleClass->foo = "bang";
         return $simpleClass;
     });
     $objectA = $this->container->getSingleton(SimpleClass::class);
     $this->assertEquals("bang", $objectA->foo);
 }