def setUp(self): """ Initialize necessary variables for the TestQuantityDictionaryConversion unit test """ self.class_dict = { 'ScalarQuantity': quantity.ScalarQuantity, 'ArrayQuantity': quantity.ArrayQuantity, 'np_array': numpy.array } self.empty_scalar = quantity.ScalarQuantity() self.minimal_scalar = quantity.ScalarQuantity(value=5) self.know_scalar = quantity.ScalarQuantity(value=2.4, units='kcal/mol') self.uncertain_scalar = quantity.ScalarQuantity(value=3, uncertainty=0.2) self.empty_array = quantity.ArrayQuantity() self.minimal_array = quantity.ArrayQuantity( value=numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])) self.known_array = quantity.ArrayQuantity(value=numpy.array( [[1.2, 2.4, 3.4], [4.8, 5.0, 6.0], [7.4, 8.6, 9]]), units='kcal/mol') self.uncertain_array = quantity.ArrayQuantity( value=numpy.array([[1.2, 2.4, 3.4], [4.8, 5.0, 6.0], [7.4, 8.6, 9.0]]), uncertainty=numpy.array([[0.2, 0.4, 0.6], [0.6, 0.4, 0.2], [0.8, 0.2, 0.4]]))
def setUp(self): """ A function run before each unit test in this class. This tests the creation of several both ScalarQuantity and ArrayQuantity objects """ self.Cp = quantity.Quantity( [-6.51, -5.19333, -4.47333, -3.76, -3.44333, -2.94667, -2.47], 'cal/(mol*K)', '+|-', [2.72057, 3.42407, 4.84068, 5.11681, 5.13207, 5.8757, 8.29108]) self.v = quantity.Quantity([5, 10, 12], 'cm/s', '*|/', [1.2, 0.4, 1]) self.H = quantity.Quantity(33.1097, 'kcal/mol', '+|-', 24.8344) self.A = quantity.Quantity(7.25e+13, 'cm^3/(mol*s)', '*|/', 5) self.Cp_array = quantity.ArrayQuantity( [-6.51, -5.19333, -4.47333, -3.76, -3.44333, -2.94667, -2.47], 'cal/(mol*K)', [2.72057, 3.42407, 4.84068, 5.11681, 5.13207, 5.8757, 8.29108], '+|-') self.v_array = quantity.ArrayQuantity([5, 10, 12], 'cm/s', [1.2, 0.4, 1], '*|/') self.H_scalar = quantity.ScalarQuantity( 33.1097, 'kcal/mol', 24.8344, '+|-', ) self.A_scalar = quantity.ScalarQuantity(7.25e+13, 'cm^3/(mol*s)', 5, '*|/')
def test_array_make_object(self): """ Test the `make_object` method of ArrayQuantity objects """ empty_array = quantity.ArrayQuantity() minimal_array = quantity.ArrayQuantity() known_array = quantity.ArrayQuantity() uncertain_array = quantity.ArrayQuantity() minimal_dict = { 'class': 'ArrayQuantity', 'value': { 'class': 'np_array', 'object': [[1, 2, 3], [4, 5, 6], [7, 8, 9]] } } known_dict = { 'class': 'ArrayQuantity', 'value': { 'class': 'np_array', 'object': [[1.2, 2.4, 3.4], [4.8, 5.0, 6.0], [7.4, 8.6, 9]] }, 'units': 'kcal/mol' } uncertain_dict = { 'class': 'ArrayQuantity', 'value': { 'class': 'np_array', 'object': [[1.2, 2.4, 3.4], [4.8, 5.0, 6.0], [7.4, 8.6, 9.0]] }, 'uncertainty': { 'class': 'np_array', 'object': [[0.2, 0.4, 0.6], [0.6, 0.4, 0.2], [0.8, 0.2, 0.4]] }, 'uncertaintyType': '+|-' } empty_array.make_object({}, self.class_dict) minimal_array.make_object(minimal_dict, self.class_dict) known_array.make_object(known_dict, self.class_dict) uncertain_array.make_object(uncertain_dict, self.class_dict) self.assertEqual(empty_array.as_dict(), self.empty_array.as_dict()) self.assertEqual(minimal_array.as_dict(), self.minimal_array.as_dict()) self.assertEqual(known_array.as_dict(), self.known_array.as_dict()) self.assertEqual(uncertain_array.as_dict(), self.uncertain_array.as_dict())