public function testUnsInstance() { try { Singletoner::setInstance('stdClassCusName3', new \stdClass()); Singletoner::unsInstance('stdClassCusName3'); Singletoner::getInstance('stdClassCusName3'); $this->fail("Expected exception not thrown"); } catch (\Exception $oExp) { $this->assertEquals("Instance \"stdClassCusName3\" does not exist", $oExp->getMessage()); } }
<?php require_once __DIR__ . '/../src/autoloader.php'; use PHPClassic\Singletoner; $class1 = new stdClass(); $class1->name = 'stdClass1'; $class2 = new stdClass(); $class2->name = 'stdClass2'; Singletoner::setInstance('standard_class_1', $class1); Singletoner::setInstance('standard_class_2', $class2); header('Content-Type: text'); var_export(array('$class1 === Singletoner::getInstance("standard_class_1")' => $class1 === Singletoner::getInstance("standard_class_1"), '$class2 === Singletoner::getInstance("standard_class_2")' => $class2 === Singletoner::getInstance("standard_class_2"), '$class1 === Singletoner::getInstance("standard_class_2")' => $class1 === Singletoner::getInstance("standard_class_2"), '$class2 === Singletoner::getInstance("standard_class_1")' => $class2 === Singletoner::getInstance("standard_class_1"))); unset($class1, $class2); echo "\n\n"; $class1 = Singletoner::getInstance("standard_class_1"); $class2 = Singletoner::getInstance("standard_class_2"); var_export(array('$class1->name === "stdClass1"' => $class1->name === "stdClass1", '$class2->name === "stdClass2"' => $class2->name === "stdClass2", '$class1->name === "stdClass2"' => $class1->name === "stdClass2", '$class2->name === "stdClass1"' => $class2->name === "stdClass1"));