public function testSameInstance()
 {
     $this->assertTrue($this->boiler->isEmpty());
     $this->boiler->fill();
     $this->assertFalse($this->boiler->isEmpty());
     $boiler = ChocolateBoiler::getInstance();
     $this->assertFalse($boiler->isEmpty());
     $this->assertFalse($this->boiler->isBoiled());
     $this->assertFalse($boiler->isBoiled());
     $boiler->boil();
     $this->assertTrue($this->boiler->isBoiled());
     $this->assertTrue($boiler->isBoiled());
 }
Ejemplo n.º 2
0
require_once __DIR__ . '/../vendor/autoload.php';
use Kondrat\DesignPatterns\Singleton\ChocolateBoiler;
$boiler = ChocolateBoiler::getInstance();
echo "Initial boiler state: empty -" . (int) $boiler->isEmpty() . ", boiled - " . (int) $boiler->isBoiled();
echo "<br>";
echo "<br>";
echo "Filling boiler...";
echo "<br>";
$boiler->fill();
echo "... boiler state: empty -" . (int) $boiler->isEmpty() . ", boiled - " . (int) $boiler->isBoiled();
echo "<br>";
echo "<br>";
echo "Getting one more boiler instance...";
echo "<br>";
$boiler2 = ChocolateBoiler::getInstance();
echo "Initial boiler2 state: empty -" . (int) $boiler->isEmpty() . ", boiled - " . (int) $boiler->isBoiled();
echo "<br>";
echo "<br>";
echo "Boiling boiler2...";
echo "<br>";
$boiler2->boil();
echo "... boiler2 state: empty -" . (int) $boiler2->isEmpty() . ", boiled - " . (int) $boiler2->isBoiled();
echo "<br>";
echo "... boiler state: empty -" . (int) $boiler->isEmpty() . ", boiled - " . (int) $boiler->isBoiled();
echo "<br>";
echo "<br>";
echo "Draining boiler...";
echo "<br>";
$boiler->drain();
echo "... boiler state: empty -" . (int) $boiler->isEmpty() . ", boiled - " . (int) $boiler->isBoiled();