Example #1
0
 public function testIsModifiedWithBool()
 {
     $model = new Model(['bool' => 0]);
     $model->merge(array('bool' => '0'));
     $this->assertFalse($model->isModified('bool'));
     $this->assertEquals(array('bool' => 0), $model->getOriginalValues());
     $this->assertEquals(array(), $model->getDiff('modified'));
     $this->assertEquals(array(), $model->getDiff('both_merged'));
     $this->assertEquals(array(array(), array()), $model->getDiff('both'));
     $model->merge(array('bool' => false));
     $this->assertFalse($model->isModified('bool'));
     $this->assertEquals(array('bool' => 0), $model->getOriginalValues());
     $this->assertEquals(array(), $model->getDiff('modified'));
     $this->assertEquals(array(), $model->getDiff('both_merged'));
     $this->assertEquals(array(array(), array()), $model->getDiff('both'));
     $model->bool = true;
     $this->assertTrue($model->isModified('bool'));
     $this->assertEquals(['bool' => 0], $model->getOriginalValues());
     $this->assertEquals(['bool' => true], $model->getDiff('modified'));
     $this->assertEquals(['bool' => [0, true]], $model->getDiff('both_merged'));
     $this->assertEquals(array(['bool' => 0], ['bool' => true]), $model->getDiff('both'));
 }