Exemplo n.º 1
0
    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]]))
Exemplo n.º 2
0
 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,
                                             '*|/')
Exemplo n.º 3
0
    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())