class TestSingleExponentialDown(unittest.TestCase): """ Contains unit tests of the SingleExponentialDown class. """ def setUp(self): self.alpha0 = 0.5 self.T0 = 300. self.n = 0.85 self.singleExponentialDown = SingleExponentialDown( alpha0 = (self.alpha0,"kJ/mol"), T0 = (self.T0,"K"), n = self.n, ) def test_alpha0(self): """ Test the SingleExponentialDown.sigma attribute. """ self.assertAlmostEqual(self.singleExponentialDown.alpha0.value_si*0.001, self.alpha0, 4) def test_T0(self): """ Test the SingleExponentialDown.T0 attribute. """ self.assertAlmostEqual(self.singleExponentialDown.T0.value_si, self.T0, 4) def test_n(self): """ Test the SingleExponentialDown.n attribute. """ self.assertAlmostEqual(self.singleExponentialDown.n, self.n, 4) def test_getAlpha(self): """ Test the SingleExponentialDown.getAlpha() method. """ for T in [300,400,500,600,800,1000,1500,2000]: dEdown0 = 1000. * self.alpha0 * (T / self.T0) ** self.n dEdown = self.singleExponentialDown.getAlpha(T) self.assertAlmostEqual(dEdown0, dEdown, 6) def test_pickle(self): """ Test that a SingleExponentialDown object can be successfully pickled and unpickled with no loss of information. """ import cPickle singleExponentialDown = cPickle.loads(cPickle.dumps(self.singleExponentialDown,-1)) self.assertAlmostEqual(self.singleExponentialDown.alpha0.value, singleExponentialDown.alpha0.value, 6) self.assertEqual(self.singleExponentialDown.alpha0.units, singleExponentialDown.alpha0.units) self.assertAlmostEqual(self.singleExponentialDown.T0.value, singleExponentialDown.T0.value, 6) self.assertEqual(self.singleExponentialDown.T0.units, singleExponentialDown.T0.units) self.assertAlmostEqual(self.singleExponentialDown.n, singleExponentialDown.n, 4) def test_repr(self): """ Test that a SingleExponentialDown object can be successfully reconstructed from its repr() with no loss of information. """ exec('singleExponentialDown = {0!r}'.format(self.singleExponentialDown)) self.assertAlmostEqual(self.singleExponentialDown.alpha0.value, singleExponentialDown.alpha0.value, 6) self.assertEqual(self.singleExponentialDown.alpha0.units, singleExponentialDown.alpha0.units) self.assertAlmostEqual(self.singleExponentialDown.T0.value, singleExponentialDown.T0.value, 6) self.assertEqual(self.singleExponentialDown.T0.units, singleExponentialDown.T0.units) self.assertAlmostEqual(self.singleExponentialDown.n, singleExponentialDown.n, 4)
class TestSingleExponentialDown(unittest.TestCase): """ Contains unit tests of the SingleExponentialDown class. """ def setUp(self): self.alpha0 = 0.5 self.T0 = 300. self.n = 0.85 self.singleExponentialDown = SingleExponentialDown( alpha0 = (self.alpha0,"kJ/mol"), T0 = (self.T0,"K"), n = self.n, ) def test_alpha0(self): """ Test the SingleExponentialDown.sigma attribute. """ self.assertAlmostEqual(self.singleExponentialDown.alpha0.value_si*0.001, self.alpha0, 4) def test_T0(self): """ Test the SingleExponentialDown.T0 attribute. """ self.assertAlmostEqual(self.singleExponentialDown.T0.value_si, self.T0, 4) def test_n(self): """ Test the SingleExponentialDown.n attribute. """ self.assertAlmostEqual(self.singleExponentialDown.n, self.n, 4) def test_getAlpha(self): """ Test the SingleExponentialDown.getAlpha() method. """ for T in [300,400,500,600,800,1000,1500,2000]: dEdown0 = 1000. * self.alpha0 * (T / self.T0) ** self.n dEdown = self.singleExponentialDown.getAlpha(T) self.assertAlmostEqual(dEdown0, dEdown, 6) def test_pickle(self): """ Test that a SingleExponentialDown object can be successfully pickled and unpickled with no loss of information. """ import cPickle singleExponentialDown = cPickle.loads(cPickle.dumps(self.singleExponentialDown,-1)) self.assertAlmostEqual(self.singleExponentialDown.alpha0.value, singleExponentialDown.alpha0.value, 6) self.assertEqual(self.singleExponentialDown.alpha0.units, singleExponentialDown.alpha0.units) self.assertAlmostEqual(self.singleExponentialDown.T0.value, singleExponentialDown.T0.value, 6) self.assertEqual(self.singleExponentialDown.T0.units, singleExponentialDown.T0.units) self.assertAlmostEqual(self.singleExponentialDown.n, singleExponentialDown.n, 4) def test_repr(self): """ Test that a SingleExponentialDown object can be successfully reconstructed from its repr() with no loss of information. """ exec('singleExponentialDown = {0!r}'.format(self.singleExponentialDown)) self.assertAlmostEqual(self.singleExponentialDown.alpha0.value, singleExponentialDown.alpha0.value, 6) self.assertEqual(self.singleExponentialDown.alpha0.units, singleExponentialDown.alpha0.units) self.assertAlmostEqual(self.singleExponentialDown.T0.value, singleExponentialDown.T0.value, 6) self.assertEqual(self.singleExponentialDown.T0.units, singleExponentialDown.T0.units) self.assertAlmostEqual(self.singleExponentialDown.n, singleExponentialDown.n, 4)