def test_revision(self):
        old_rev = self.db.revision
        model = ModelFixture1()
        model.add(self.db)
        model.store()
        self.assertEqual(model._revision, self.db.revision)
        self.assertGreater(self.db.revision, old_rev)

        mid_rev = self.db.revision
        model2 = ModelFixture1()
        model2.add(self.db)
        model2.store()
        self.assertGreater(model2._revision, mid_rev)
        self.assertGreater(self.db.revision, model._revision)

        # revision changed, so the model should be re-loaded
        model.load()
        self.assertEqual(model._revision, self.db.revision)

        # revision did not change, so no reload
        mod2_old_rev = model2._revision
        model2.load()
        self.assertEqual(model2._revision, mod2_old_rev)