def testAddParametersToModel(self):
        """
        Checks the QModel update from Sasmodel parameters
        """
        # Use a single-shell parameter
        model_name = "barbell"
        models = load_standard_models()

        kernel_module = generate.load_kernel_module(model_name)
        kernel_module_o = None
        for model in models:
            if model.name == model_name:
                kernel_module_o = model()
        self.assertIsNotNone(kernel_module_o)
        barbell_parameters = modelinfo.make_parameter_table(getattr(kernel_module, 'parameters', []))

        params = FittingUtilities.addParametersToModel(barbell_parameters, kernel_module_o, True)

        # Test the resulting model
        self.assertEqual(len(params), 7)
        self.assertEqual(len(params[0]), 5)
        self.assertTrue(params[0][0].isCheckable())
        self.assertEqual(params[0][0].text(), "sld")
        self.assertEqual(params[1][0].text(), "sld_solvent")

        # Use a multi-shell parameter to see that the method includes shell params
        model_name = "core_multi_shell"
        kernel_module = generate.load_kernel_module(model_name)
        kernel_module_o = None
        for model in models:
            if model.name == model_name:
                kernel_module_o = model()
        self.assertIsNotNone(kernel_module_o)
        multi_parameters = modelinfo.make_parameter_table(getattr(kernel_module, 'parameters', []))

        params = FittingUtilities.addParametersToModel(multi_parameters, kernel_module_o, False)

        # Test the resulting model
        self.assertEqual(len(params), 3)
        self.assertEqual(len(params[0]), 5)
        self.assertTrue(params[0][0].isCheckable())
        self.assertEqual(params[0][0].text(), "sld_core")
        self.assertEqual(params[1][0].text(), "radius")