Пример #1
0
 public function testObjectState()
 {
     $originator = new Originator();
     $foo = new \stdClass();
     $foo->data = "foo";
     $originator->setState($foo);
     $this->assertAttributeEquals($foo, "state", $originator);
     $savedState = $originator->saveToMemento();
     $this->assertAttributeEquals($foo, "state", $savedState);
     $bar = new \stdClass();
     $bar->data = "bar";
     $originator->setState($bar);
     $this->assertAttributeEquals($bar, "state", $originator);
     $originator->restoreFromMemento($savedState);
     $this->assertAttributeEquals($foo, "state", $originator);
     $foo->data = null;
     $this->assertAttributeNotEquals($foo, "state", $savedState);
     $this->assertAttributeNotEquals($foo, "state", $originator);
 }
Пример #2
0
 public function testStateWithDifferentObjects()
 {
     $originator = new Originator();
     $first = new \stdClass();
     $first->data = "foo";
     $originator->setState($first);
     $this->assertAttributeEquals($first, "state", $originator);
     $first_snapshot = $originator->getStateAsMemento();
     $this->assertAttributeEquals($first, "state", $first_snapshot);
     $second = new \stdClass();
     $second->data = "bar";
     $originator->setState($second);
     $this->assertAttributeEquals($second, "state", $originator);
     $originator->restoreFromMemento($first_snapshot);
     $this->assertAttributeEquals($first, "state", $originator);
 }