public function testNoConstructor() { $obj = Singleton::getInstance(); $refl = new \ReflectionObject($obj); $meth = $refl->getMethod('__construct'); $this->assertTrue($meth->isPrivate()); }
public function testUniqueness() { $firstCall = Singleton::getInstance(); $secondCall = Singleton::getInstance(); $this->assertInstanceOf('DesignPatterns\\Creational\\Singleton\\Singleton', $firstCall); $this->assertSame($firstCall, $secondCall); }
public function test() { $firstCall = Singleton::getInstance(); $secondCall = Singleton::getInstance(); $thirdCall = Singleton::getInstance(); $fourthCall = new Singleton(); // FATAL ERROR; }
/** * @expectedException \DesignPatterns\Creational\Singleton\SingletonPatternViolationException * @return void */ public function testNoSerializationAllowed() { $obj1 = Singleton::getInstance(); $serialized = serialize($obj1); $obj2 = unserialize($serialized); }