コード例 #1
0
    def test_gridpoints_core_calc_exp(self):
        """test function gridpoints_core_calc, i.e. core data combination
        on grid point level with changed exponents"""
        data_arrays = data_arrays_demo(2)  # get list with 2 demo arrays
        exp = [2, 1]
        result_array = lp.gridpoints_core_calc(data_arrays, exponents=exp)
        results_check = data_arrays[0] * data_arrays[0] * data_arrays[1]

        self.assertEqual(result_array.shape, results_check.shape)
        self.assertEqual(result_array[0, 2], results_check[0, 2])
        np.testing.assert_array_almost_equal_nulp(result_array, results_check)

        exp = [2, .1]
        result_array = lp.gridpoints_core_calc(data_arrays, exponents=exp)
        results_check = data_arrays[0] * data_arrays[0] * (data_arrays[1]**.1)
        np.testing.assert_array_almost_equal_nulp(result_array, results_check)
コード例 #2
0
    def test_gridpoints_core_calc_default_2(self):
        """test function gridpoints_core_calc, i.e. core data combination
        on grid point level with default exponents and offsets- 2 arrays"""
        data_arrays = data_arrays_demo(2)  # get list with 2 demo arrays
        result_array = lp.gridpoints_core_calc(data_arrays)
        results_check = data_arrays[0] * data_arrays[1]

        self.assertEqual(result_array[0, 0], results_check[0, 0])
        np.testing.assert_array_almost_equal_nulp(result_array, results_check)
コード例 #3
0
    def test_gridpoints_core_calc_default_3(self):
        """test function gridpoints_core_calc, i.e. core data combination
        on grid point level with default exponents and offsets- 3 arrays"""
        data_arrays = data_arrays_demo(3)
        result_array = lp.gridpoints_core_calc(data_arrays)
        results_check = data_arrays[0] * data_arrays[1] * data_arrays[2]

        self.assertEqual(result_array.shape, results_check.shape)
        self.assertEqual(result_array[1, 1], results_check[1, 1])
        np.testing.assert_array_almost_equal_nulp(result_array, results_check)
コード例 #4
0
    def test_gridpoints_core_calc_offsets(self):
        """test function gridpoints_core_calc, i.e. core data combination
        on grid point level with changed offsets"""
        data_arrays = data_arrays_demo(2)  # get list with 2 demo arrays
        offsets = [1, 10]
        result_array = lp.gridpoints_core_calc(data_arrays, offsets=offsets)
        results_check = (data_arrays[0] + 1) * (10 + data_arrays[1])

        self.assertEqual(result_array.shape, results_check.shape)
        self.assertEqual(result_array[0, 2], results_check[0, 2])
        np.testing.assert_array_almost_equal_nulp(result_array, results_check)
コード例 #5
0
    def test_gridpoints_core_calc_rescale(self):
        """test function gridpoints_core_calc, i.e. core data combination
        on grid point level with rescaling (default exponents and offsets)"""
        data_arrays = data_arrays_demo(2)  # get list with 2 demo arrays
        result_array = lp.gridpoints_core_calc(data_arrays,
                                               total_val_rescale=2.5)
        results_check = (data_arrays[0] * data_arrays[1]) * 2.5 / np.sum(
            data_arrays[0] * data_arrays[1])

        self.assertAlmostEqual(result_array.sum(), 2.5)
        self.assertEqual(result_array[0, 1], results_check[0, 1])
        np.testing.assert_array_almost_equal_nulp(result_array, results_check)
コード例 #6
0
 def test_gridpoints_core_calc_offsets_exp_rescale(self):
     """test function gridpoints_core_calc, i.e. core data combination
     on grid point level with changed offsets and exponents and rescaling"""
     data_arrays = data_arrays_demo(2)  # get list with 2 demo arrays
     offsets = [0.2, 3]
     exp = [.5, 1.7]
     tot = -7
     result_array = lp.gridpoints_core_calc(data_arrays,
                                            offsets=offsets,
                                            exponents=exp,
                                            total_val_rescale=tot)
     results_check = np.array(data_arrays[0]+.2, dtype=float)**exp[0] * \
         (np.array(data_arrays[1]+3., dtype=float)**exp[1])
     results_check = results_check * tot / results_check.sum()
     self.assertEqual(result_array.shape, results_check.shape)
     self.assertAlmostEqual(result_array.sum(), tot)
     self.assertEqual(result_array[1, 2], results_check[1, 2])
     np.testing.assert_array_almost_equal_nulp(result_array, results_check)
コード例 #7
0
    def test_gridpoints_core_calc_offsets_exp(self):
        """test function gridpoints_core_calc, i.e. core data combination
        on grid point level with changed offsets and exponents"""
        data_arrays = data_arrays_demo(2)  # get list with 2 demo arrays
        offsets = [0, 10]
        exp = [2, 1]
        result_array = lp.gridpoints_core_calc(data_arrays,
                                               offsets=offsets,
                                               exponents=exp)
        results_check = (data_arrays[0]) * (data_arrays[0]) * (10 +
                                                               data_arrays[1])
        results_check2 = np.array([[0, 20, 80], [99, 176, 275]])

        self.assertEqual(result_array.shape, results_check.shape)
        self.assertEqual(result_array[0, 2], results_check[0, 2])
        np.testing.assert_array_almost_equal_nulp(result_array, results_check)
        self.assertEqual(result_array[1, 2], results_check2[1, 2])
        np.testing.assert_array_almost_equal_nulp(result_array, results_check2)
コード例 #8
0
    def test_gridpoints_core_calc_input_errors(self):
        """test for ValueErrors and TypeErrors due to wrong input to function
        gridpoints_core_calc"""
        data = data_arrays_demo(2)
        # negative offset:
        with self.assertRaises(ValueError):
            lp.gridpoints_core_calc(data, offsets=[2, -1])
        # negative exponents:
        with self.assertRaises(ValueError):
            lp.gridpoints_core_calc(data, exponents=[2, -1])

        # different shapes:
        with self.assertRaises(ValueError):
            lp.gridpoints_core_calc(data_arrays_demo(4))

        # wrong format:
        with self.assertRaises(TypeError):
            lp.gridpoints_core_calc(data, exponents=['a', 'b'])
        data.append('hello i am a string')
        with self.assertRaises(ValueError):
            lp.gridpoints_core_calc(data)
        with self.assertRaises(TypeError):
            lp.gridpoints_core_calc(777)