def test_eval_f(self): """ Test that eval_f is running the correct function """ fitting_problem = FittingProblem() self.assertRaises(exceptions.FittingProblemError, fitting_problem.eval_f, x=2, params=[1, 2, 3]) fitting_problem.function = lambda x, p1: x + p1 x_val = np.array([1, 8, 11]) eval_result = fitting_problem.eval_f(x=x_val, params=[5]) self.assertTrue(all(eval_result == np.array([6, 13, 16]))) fitting_problem.data_x = np.array([20, 21, 22]) eval_result = fitting_problem.eval_f(params=[5]) self.assertTrue(all(eval_result == np.array([25, 26, 27])))
def test_eval_f(self): """ Test that eval_f is running the correct function """ fitting_problem = FittingProblem() self.assertRaises(AttributeError, fitting_problem.eval_f, x=2, params=[1, 2, 3], function_id=0) fitting_problem.functions = [[lambda x, p1: x + p1, [3]], [lambda x, p1: x + p1 + 10, [7]]] x_val = np.array([1]) eval_result = fitting_problem.eval_f(x=x_val, params=[5], function_id=0) self.assertTrue(all(eval_result == np.array([6]))) eval_result = fitting_problem.eval_f(x=x_val, params=[5], function_id=1) self.assertTrue(all(eval_result == np.array([16]))) fitting_problem.data_x = np.array([20, 21, 22]) eval_result = fitting_problem.eval_f(params=[5], function_id=0) self.assertTrue(all(eval_result == np.array([25, 26, 27])))