@@ -0,0 +1,1309 @@
+import sqlalchemy as sa%0Afrom sqlalchemy_continuum.plugins import PropertyModTrackerPlugin%0Afrom tests import TestCase%0A%0A%0Aclass TestPropertyModificationsTracking(TestCase):%0A    plugins = %5BPropertyModTrackerPlugin%5D%0A%0A    def create_models(self):%0A        class User(self.Model):%0A            __tablename__ = 'text_item'%0A            __versioned__ = %7B%0A                'base_classes': (self.Model, ),%0A                'track_property_modifications': True%0A            %7D%0A            id = sa.Column(sa.Integer, autoincrement=True, primary_key=True)%0A%0A            name = sa.Column(sa.Unicode(255))%0A%0A            age = sa.Column(sa.Integer)%0A%0A        self.User = User%0A%0A    def test_each_column_generates_additional_mod_column(self):%0A        UserHistory = self.User.__versioned__%5B'class'%5D%0A        assert 'name_mod' in UserHistory.__table__.c%0A        column = UserHistory.__table__.c%5B'name_mod'%5D%0A        assert not column.nullable%0A        assert isinstance(column.type, sa.Boolean)%0A%0A    def test_primary_keys_not_included(self):%0A        UserHistory = self.User.__versioned__%5B'class'%5D%0A        assert 'id_mod' not in UserHistory.__table__.c%0A%0A    def test_mod_properties_get_updated(self):%0A        user = self.User(name=u'John')%0A        self.session.add(user)%0A        self.session.commit()%0A%0A        assert user.versions%5B-1%5D.name_mod%0A

Add tests for PropertyModTracker plugin