def test_fixed_values(self):
     fit = Fit(model=Model())
     fit.parameters = [
         {'symbol': 'D', 'guess': 2},
         {'symbol': 'k', 'value': 3, 'prefix': 'kilo'},
         {'symbol': 'm', 'value': 4},
     ]
     fit.constants = [
         {'symbol': 'a', 'value': 10},
         {'symbol': 'b', 'value': 5, 'prefix': 'milli'},
         {'symbol': 'c', 'value': 'Avogadro constant'},
     ]
     eq_(fit.fixed_values, (3000, 4, 10, 0.005, 6.022140857e+23))
 def test_all_variables(self):
     fit = Fit(model=Model())
     symbols = ('t', 'u', 'x', 'm', 'D', 'k', 'τ', 'a', 'b')
     fit.model.add_symbols(*symbols)
     fit.free_variables = ['t', 'u']
     fit.independent = {'symbol': 'x'}
     fit.parameters = [
         {'symbol': 'm', 'guess': 2},
         {'symbol': 'D', 'guess': 2},
         {'symbol': fit.model.symbol('k'), 'value': 3},
         {'symbol': 'τ', 'value': 4},
     ]
     fit.constants = [
         {'symbol': 'a'},
         {'symbol': 'b'},
     ]
     eq_(fit.all_variables, tuple( fit.model.symbol(s) for s in symbols ))
 def test_function_with_more_symbols(self):
     fit = Fit()
     fit.model = Model()
     symbols = ('x', 'a', 'b', 'c', 'd', 'e', 'f')
     fit.model.add_symbols(*symbols)
     x, a, b, c, d, e, f = fit.model.get_symbols(*symbols)
     fit.model.expressions['exp'] = a * f + b * e + x * c + d
     fit.expression = 'exp'
     fit.independent = {'symbol': 'x'}
     fit.parameters = [
         {'symbol': 'a', 'guess': 2},
         {'symbol': 'b', 'guess': 3},
         {'symbol': 'c', 'value': 4, 'prefix': 'kilo'},
         {'symbol': 'd', 'value': 5},
     ]
     fit.constants = [
         {'symbol': 'e', 'value': 10},
         {'symbol': 'f', 'value': 12, 'prefix': 'milli'},
     ]
     eq_(fit.function(2, 4, 7), 8075.048)