public function testChangeSnapshotCalculatesDifference() { $model = new ModelState(); $this->assertFalse($model->hasPropertyChanged("NewProperty")); $model->NewProperty = "123"; $this->assertTrue($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); $this->assertFalse($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); $model->NewProperty = "123"; $this->assertFalse($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); $model->NewProperty = "12323"; $this->assertTrue($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); $model->NewProperty = null; $this->assertTrue($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); // Setting null to null should result in no change $model->NewProperty = null; $this->assertFalse($model->hasPropertyChanged("NewProperty")); $model->NewProperty = "12323"; $this->assertTrue($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); unset($model->NewProperty); $this->assertTrue($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); $model->NewProperty = "12323"; $this->assertTrue($model->hasPropertyChanged("NewProperty")); }
public function testChangeSnapshotCalculatesDifference() { $model = new ModelState(); $this->assertFalse($model->hasPropertyChanged("NewProperty")); $model->NewProperty = "123"; $this->assertTrue($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); $this->assertFalse($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); $model->NewProperty = "123"; $this->assertFalse($model->hasPropertyChanged("NewProperty")); $model->takeChangeSnapshot(); $model->NewProperty = "12323"; $this->assertTrue($model->hasPropertyChanged("NewProperty")); }