def test_insertObjects(self): dbName = self.getOutputPath('images.sqlite') print ">>> test_insertObjects: dbName = '%s'" % dbName mapper = SqliteFlatMapper(dbName, globals()) self.assertEqual(0, mapper.count()) self.assertEqual(0, mapper.maxId()) n = 10 for i in range(n): img = Image() img.setLocation(i + 1, 'images.stk') mapper.insert(img) self.assertEqual(n, mapper.count()) self.assertEqual(n, mapper.maxId()) # Store one more image with bigger id img = Image() bigId = 1000 img.setLocation(bigId, 'images.stk') img.setObjId(bigId) mapper.insert(img) self.assertEqual(bigId, mapper.maxId()) # Insert another image with None as id, it should take bigId + 1 img.setLocation(bigId + 1, 'images.stk') img.setObjId(None) mapper.insert(img) self.assertEqual(bigId + 1, mapper.maxId()) mapper.setProperty('samplingRate', '3.0') mapper.setProperty('defocusU', 1000) mapper.setProperty('defocusV', 1000) mapper.setProperty('defocusU', 2000) # Test update a property value mapper.deleteProperty('defocusV') # Test delete a property mapper.commit() self.assertEqual(1, mapper.db.getVersion()) mapper.close() # Test that values where stored properly mapper2 = SqliteFlatMapper(dbName, globals()) self.assertTrue(mapper2.hasProperty('samplingRate')) self.assertTrue(mapper2.hasProperty('defocusU')) self.assertFalse(mapper2.hasProperty('defocusV')) self.assertEqual(mapper2.getProperty('samplingRate'), '3.0') self.assertEqual(mapper2.getProperty('defocusU'), '2000') # Make sure that maxId() returns the proper value after loading db self.assertEqual(bigId + 1, mapper2.maxId())