diff options
Diffstat (limited to 'test/base/historyarray.py')
-rw-r--r-- | test/base/historyarray.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/test/base/historyarray.py b/test/base/historyarray.py new file mode 100644 index 000000000..9fc270432 --- /dev/null +++ b/test/base/historyarray.py @@ -0,0 +1,71 @@ +from testbase import PersistTest +import sqlalchemy.util as util +import unittest, sys, os + +class HistoryArrayTest(PersistTest): + def testadd(self): + a = util.HistoryArraySet() + a.append('hi') + self.assert_(a == ['hi']) + self.assert_(a.added_items() == ['hi']) + + def testremove(self): + a = util.HistoryArraySet() + a.append('hi') + a.commit() + self.assert_(a == ['hi']) + self.assert_(a.added_items() == []) + a.remove('hi') + self.assert_(a == []) + self.assert_(a.deleted_items() == ['hi']) + + def testremoveadded(self): + a = util.HistoryArraySet() + a.append('hi') + a.remove('hi') + self.assert_(a.added_items() == []) + self.assert_(a.deleted_items() == []) + self.assert_(a == []) + + def testaddedremoved(self): + a = util.HistoryArraySet() + a.append('hi') + a.commit() + a.remove('hi') + self.assert_(a.deleted_items() == ['hi']) + a.append('hi') + self.assert_(a.added_items() == []) + self.assert_(a.deleted_items() == []) + self.assert_(a == ['hi']) + + def testrollback(self): + a = util.HistoryArraySet() + a.append('hi') + a.append('there') + a.append('yo') + a.commit() + before = repr(a.data) + print repr(a.data) + a.remove('there') + a.append('lala') + a.remove('yo') + a.append('yo') + after = repr(a.data) + print repr(a.data) + a.rollback() + print repr(a.data) + self.assert_(before == repr(a.data)) + + def testarray(self): + a = util.HistoryArraySet() + a.append('hi') + a.append('there') + self.assert_(a[0] == 'hi' and a[1] == 'there') + del a[1] + self.assert_(a == ['hi']) + a.append('hi') + a.append('there') + a[3:4] = ['yo', 'hi'] + self.assert_(a == ['hi', 'there', 'yo']) +if __name__ == "__main__": + unittest.main()
\ No newline at end of file |