Skip to content

Commit 84923c4

Browse files
committed
adds unittest for ThermoDatabase pickling
1 parent bcaba52 commit 84923c4

1 file changed

Lines changed: 34 additions & 1 deletion

File tree

rmgpy/data/thermoTest.py

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,40 @@ def setUp(self):
6969
['C1C=CC=C1', 2, 32.5, 65.5, 18.16, 24.71, 30.25, 34.7, 41.25, 45.83, 52.61],
7070
]
7171

72+
def testPickle(self):
73+
"""
74+
Test that a ThermoDatabase object can be successfully pickled and
75+
unpickled with no loss of information.
76+
"""
77+
import cPickle
78+
thermodb0 = cPickle.loads(cPickle.dumps(self.database))
79+
80+
self.assertEqual(thermodb0.libraryOrder, self.database.libraryOrder)
81+
self.assertEqual(sorted(thermodb0.depository.keys()), \
82+
sorted(self.database.depository.keys()))
83+
84+
self.assertEqual(sorted(thermodb0.libraries.keys()), \
85+
sorted(self.database.libraries.keys()))
86+
self.assertEqual(sorted(thermodb0.groups.keys()), \
87+
sorted(self.database.groups.keys()))
88+
89+
for key, depository0 in thermodb0.depository.iteritems():
90+
depository = self.database.depository[key]
91+
self.assertTrue(type(depository0), type(depository))
92+
self.assertEqual(sorted(depository0.entries.keys()), sorted(depository.entries.keys()))
93+
94+
for key, library0 in thermodb0.libraries.iteritems():
95+
library = self.database.libraries[key]
96+
self.assertTrue(type(library0), type(library))
97+
self.assertEqual(sorted(library0.entries.keys()), sorted(library.entries.keys()))
98+
99+
for key, group0 in thermodb0.groups.iteritems():
100+
group = self.database.groups[key]
101+
self.assertTrue(type(group0), type(group))
102+
self.assertEqual(sorted(group0.entries.keys()), sorted(group.entries.keys()))
103+
104+
105+
72106
@work_in_progress
73107
def testNewThermoGeneration(self):
74108
"""
@@ -108,7 +142,6 @@ def testSymmetryContributionRadicals(self):
108142
thermoData_ga = self.database.getThermoDataFromGroups(spc)
109143

110144
self.assertAlmostEqual(thermoData_lib.getEntropy(298.), thermoData_ga.getEntropy(298.), 0)
111-
112145

113146
@work_in_progress
114147
def testSymmetryNumberGeneration(self):

0 commit comments

Comments
 (0)