Files
sqlalchemy/test/historyarray.py
T
Mike Bayer 77a2dc0c36
2005-09-20 05:48:09 +00:00

71 lines
2.0 KiB
Python

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()