assertEntitySaved(); $entity = TestEntity::find($id); $this->assertInstanceOf(TestEntity::class, $entity); $this->assertEquals($id, $entity->getPK()); $this->assertEquals("UNIQUE", $entity->c_unique); } function testSave() { $entity = new TestEntity([ "c_unique" => "UNIQUE" ]); $entity->save(); $this->assertGreaterThan(0, $entity->getPK()); } function testIncrement() { $id = $this->assertEntitySaved(); $memoryEntity = TestEntity::find($id); $this->assertTrue($memoryEntity->increment("c_int", 10)); $this->assertEquals(10, $memoryEntity->c_int); $dbEntity = TestEntity::find($id); $this->assertEquals(10, $dbEntity->c_int); } function testDelete() { $entity = new TestEntity([ "c_unique" => "UNIQUE" ]); $this->persistenceDriver->save($entity, $rowCount); $this->assertTrue($entity->delete()); $this->assertNull(TestEntity::find($entity->getPK())); } /** * @return int new entity ID */ function assertEntitySaved() { $entity = new TestEntity([ "c_unique" => "UNIQUE", "c_int" => 0, ]); $this->persistenceDriver->save($entity, $rowCount); $this->assertEquals(1, $rowCount); return $entity->getPK(); } function setUp() { parent::setUp(); $this->persistenceDriver = new DbDriver($this->connection); Entity::setDefaultPersistenceDriver($this->persistenceDriver); } function tearDown() { parent::tearDown(); $this->persistenceDriver = null; Entity::unsetDefaultPersistenceDriver(); } }