ui: add 'Save *.orig Merge Backups' to the options dialog
[git-cola.git] / t / t0004-model-save-restore.py
blob42c47e3c28e014e6b857815c25faec56bf27aff7
1 #!/usr/bin/env python
2 import os
3 import unittest
5 import testutils
7 from testmodel import InnerModel
8 from testmodel import NestedModel
10 from cola.model import Model
12 class SaveRestoreTest(testutils.TestCase):
14 def setUp(self):
15 testutils.TestCase.setUp(self)
16 self.nested = NestedModel()
17 path = os.path.join(self.testDir(), 'test.data')
18 self.nested.save(path)
19 # reconstitute
20 self.clone = Model.instance(path)
22 def testCloneToClass(self):
23 self.failUnless( str(NestedModel) ==
24 str(self.clone.__class__) )
26 def testClonedInnerToClass(self):
27 self.failUnless( str(InnerModel) ==
28 str(self.clone.inner.__class__) )
30 def testClonedListAndParam(self):
31 self.failUnless( str(self.clone.inner.__class__) ==
32 str(self.clone.innerList[0].__class__) )
34 def testList(self):
35 self.failUnless( str(InnerModel) ==
36 str(self.clone.innerList[1][0].__class__) )
38 def testListInList(self):
39 self.failUnless( str(InnerModel) ==
40 str(self.clone.innerList[2][0][0].__class__))
42 def testListInListInList(self):
43 self.failUnless( str(InnerModel) ==
44 str(self.clone.innerList[3][0][0][0].__class__))
46 def testDictInList(self):
47 self.failUnless( str(dict) ==
48 str(self.clone.innerList[4].__class__))
50 def testObjectInDictInList(self):
51 self.failUnless( str(InnerModel) ==
52 str(self.clone.innerList[-1]["foo"].__class__))
54 if __name__ == '__main__':
55 unittest.main()