Index: park_integration/test/constrainttestpark.py
===================================================================
--- park_integration/test/constrainttestpark.py	(revision 9e857929197322ca949a60c6dc66670d05725dcc)
+++ park_integration/test/constrainttestpark.py	(revision 9e857929197322ca949a60c6dc66670d05725dcc)
@@ -0,0 +1,48 @@
+"""
+    Unit tests for fitting module 
+"""
+import unittest
+from sans.guitools.plottables import Theory1D
+from sans.guitools.plottables import Data1D
+from sans.fit.ScipyFitting import Parameter
+import math
+class testFitModule(unittest.TestCase):
+    
+    def test2models2dataonconstraint(self):
+        """ test fitting for two set of data  and one model with a constraint"""
+        from sans.fit.Loader import Load
+        load= Load()
+        #Load the first set of data
+        load.set_filename("testdata1.txt")
+        load.set_values()
+        data1 = Data1D(x=[], y=[],dx=None, dy=None)
+        load.load_data(data1)
+        
+        #Load the second set of data
+        load.set_filename("testdata2.txt")
+        load.set_values()
+        data2 = Data1D(x=[], y=[],dx=None, dy=None)
+        load.load_data(data2)
+        
+        #Importing the Fit module
+        from sans.fit.Fitting import Fit
+        fitter= Fit()
+        # Receives the type of model for the fitting
+        from sans.guitools.LineModel import LineModel
+        model1  = LineModel()
+        model2  = LineModel()
+        #set engine for scipy 
+        fitter.fit_engine('park')
+        engine = fitter.returnEngine()
+        #Do the fit
+        engine.set_param( model1,"M1", {'A':2,'B':3})
+        engine.set_model(model1,1)
+        engine.set_data(data1,1)
+        #print "m1 param b", M1.B
+        engine.set_param( model2,"M2", {'A':1,'B':'2*M1.B'})
+        engine.set_model(model2,2)
+        engine.set_data(data2,2)
+    
+        
+        print engine.fit({'A':2,'B':1},None,None)
+      
Index: park_integration/test/testfitting.py
===================================================================
--- park_integration/test/testfitting.py	(revision 770530690a37496a90d89a41d399cc96206e8f8d)
+++ park_integration/test/testfitting.py	(revision 9e857929197322ca949a60c6dc66670d05725dcc)
@@ -165,2 +165,54 @@
             self.assertEqual(cov1[1][1],cov2[1][1])
         """
+    def test2models2dataonconstraint(self):
+        """ test for 2 Models two data one constraint"""
+        from sans.fit.Loader import Load
+        load= Load()
+        #Load the first set of data
+        load.set_filename("testdata1.txt")
+        load.set_values()
+        data1 = Data1D(x=[], y=[],dx=None, dy=None)
+        load.load_data(data1)
+        
+        #Load the second set of data
+        load.set_filename("testdata2.txt")
+        load.set_values()
+        data2 = Data1D(x=[], y=[],dx=None, dy=None)
+        load.load_data(data2)
+       
+        #Importing the Fit module
+        from sans.fit.Fitting import Fit
+        fitter= Fit()
+        # Receives the type of model for the fitting
+        from sans.guitools.LineModel import LineModel
+        model1  = LineModel()
+        model1.name='M1'
+        model2  = LineModel()
+        model2.name='M2'
+        #set engine for scipy 
+        fitter.fit_engine('scipy')
+        engine = fitter.returnEngine()
+        #Do the fit
+        engine.set_model(model1,1)
+        engine.set_data(data1,1)
+        engine.set_model(model2,2)
+        engine.set_data(data2,2)
+    
+        try: engine.fit({'A':2,'B':1},None,None)
+        except ValueError,msg:
+            assert str(msg)=="cannot fit more than one model",'Message: <%s>'%(msg)
+        
+        #set engine for park 
+        fitter= Fit()
+        fitter.fit_engine('park')
+        engine = fitter.returnEngine()
+        #Do the fit
+        engine.set_data(data1,1)
+        engine.set_param(model1,{'A':2,'B':1})
+        engine.set_model(model1,1)
+        
+        engine.set_param(model2,{'A':3,'B':'5*M1.B'})
+        engine.set_model(model2,2)
+        engine.set_data(data2,2)
+        engine.fit({'A':2,'B':1},None,None)
+        
Index: park_integration/test/testpark.py
===================================================================
--- park_integration/test/testpark.py	(revision 9e857929197322ca949a60c6dc66670d05725dcc)
+++ park_integration/test/testpark.py	(revision 9e857929197322ca949a60c6dc66670d05725dcc)
@@ -0,0 +1,48 @@
+"""
+    Unit tests for fitting module 
+"""
+import unittest
+from sans.guitools.plottables import Theory1D
+from sans.guitools.plottables import Data1D
+from sans.fit.ScipyFitting import Parameter
+import math
+class testFitModule(unittest.TestCase):
+    
+    def test2models2dataonconstraint(self):
+        """ test fitting for two set of data  and one model"""
+        from sans.fit.Loader import Load
+        load= Load()
+        #Load the first set of data
+        load.set_filename("testdata1.txt")
+        load.set_values()
+        data1 = Data1D(x=[], y=[],dx=None, dy=None)
+        load.load_data(data1)
+        
+        #Load the second set of data
+        load.set_filename("testdata2.txt")
+        load.set_values()
+        data2 = Data1D(x=[], y=[],dx=None, dy=None)
+        load.load_data(data2)
+        
+        #Importing the Fit module
+        from sans.fit.Fitting import Fit
+        fitter= Fit()
+        # Receives the type of model for the fitting
+        from sans.guitools.LineModel import LineModel
+        model1  = LineModel()
+        model2  = LineModel()
+        #set engine for scipy 
+        fitter.fit_engine('park')
+        engine = fitter.returnEngine()
+        #Do the fit
+        engine.set_param( model1,"M1", {'A':2.5,'B':4})
+        engine.set_model(model1,1)
+        engine.set_data(data1,1)
+        
+        engine.set_param( model2,"M2", {'A':2.5,'B':4})
+        engine.set_model(model2,2)
+        engine.set_data(data2,2)
+    
+        
+        print engine.fit({'A':2,'B':1},None,None)
+      
