def test_create_function_str_for_nth_order_given_fixed_values(self): background = PolynomialBackground(order=2) param_values = {"f1.A0": 2.0, "f1.A1": 3.0, "f1.A2": 4.0} expected = "name=Polynomial,n=2,A0=2.000000,A1=3.000000,A2=4.000000" self.assertEqual( expected, background.create_fit_function_str(param_values, param_prefix="f1."))
def test_function_str_with_no_given_params_looks_as_expected(self): fit_opts = self._create_test_fitting_opts() expected = \ "composite=ComptonScatteringCountRate,NumDeriv=1,IntensityConstraints=\"Matrix(1|2)1.000000|-4.000000\";"\ "name=GramCharlierComptonProfile,Mass=1.007900,HermiteCoeffs=1 0 0,Width=5.000000;"\ "name=GaussianComptonProfile,Mass=16.000000,Width=10.000000" self.assertEqual(expected, fit_opts.create_function_str()) # add background fit_opts.background = PolynomialBackground(order=2) expected += ";name=Polynomial,n=2" self.assertEqual(expected, fit_opts.create_function_str())
def test_function_str_with_given_params_looks_as_expected(self): fit_opts = self._create_test_fitting_opts() param_vals = {"f0.Width": 7.5, "f0.FSECoeff": 0.1, "f0.C_0": 0.25, "f0.C_2": 0.5, "f0.C_4": 0.75} param_vals.update({"f1.Width": 11.0, "f1.Intensity": 4.5}) expected = \ "composite=CompositeFunction,NumDeriv=1;"\ "name=GramCharlierComptonProfile,Mass=1.007900,HermiteCoeffs=1 0 0,Width=7.500000,FSECoeff=0.100000,C_0=0.250000;"\ "name=GaussianComptonProfile,Mass=16.000000,Width=11.000000,Intensity=4.500000" self.assertEqual(expected, fit_opts.create_function_str(param_vals)) fit_opts.background = PolynomialBackground(order=2) param_vals.update({"f2.A0": 2.0, "f2.A1": 3.0, "f2.A2": 4.0}) expected += ";name=Polynomial,n=2,A0=2.000000,A1=3.000000,A2=4.000000" self.assertEqual(expected, fit_opts.create_function_str(param_vals))
def test_create_function_str_for_nth_order_with_no_values(self): background = PolynomialBackground(order=2) expected = "name=Polynomial,n=2" self.assertEqual(expected, background.create_fit_function_str())
def test_create_function_str_for_nth_order_given_fixed_values(self): background = PolynomialBackground(order=2) param_values = {"f1.A0": 2.0, "f1.A1": 3.0, "f1.A2": 4.0} expected = "name=Polynomial,n=2,A0=2.000000,A1=3.000000,A2=4.000000" self.assertEqual(expected, background.create_fit_function_str(param_values, param_prefix="f1."))