Changeset 2eaaf1a in sasview for park_integration/test/test_fit_line.py
- Timestamp:
- Oct 19, 2009 4:57:35 PM (15 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- eb575b0
- Parents:
- b72b595
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
park_integration/test/test_fit_line.py
r1ea3488 r2eaaf1a 1 1 """ 2 2 Unit tests for fitting module 3 @author Gervaise Alina 3 4 """ 4 5 import unittest 5 #from sans.guitools.plottables import Theory1D 6 #from sans.guitools.plottables import Data1D 6 7 7 from danse.common.plottools.plottables import Data1D,Theory1D 8 8 from sans.fit.AbstractFitEngine import Model,FitData1D 9 9 import math 10 10 class testFitModule(unittest.TestCase): 11 def smalltest(self):12 13 import numpy14 x=[1,22,3]15 y=[5,6,7,8]16 array= numpy.zeros(len(x), len(y))17 18 11 """ test fitting """ 12 19 13 def test1(self): 20 14 """ Fit 1 data (testdata_line.txt)and 1 model(lineModel) """ … … 48 42 self.assert_(result1) 49 43 50 self.assertTrue( ( math.fabs(result1.pvec[0]-4)/3 == result1.stderr[0] ) or 51 ( math.fabs(result1.pvec[0]-4)/3 < result1.stderr[0]) ) 52 53 self.assertTrue( ( math.fabs(result1.pvec[1]-2.5)/3 == result1.stderr[1]) or 54 ( math.fabs(result1.pvec[1]-2.5)/3 < result1.stderr[1] ) ) 55 self.assertTrue( result1.fitness/49 < 2 ) 44 self.assertTrue( math.fabs(result1.pvec[0]-4)/3 <= result1.stderr[0] ) 45 self.assertTrue( math.fabs(result1.pvec[1]-2.5)/3 <= result1.stderr[1]) 46 self.assertTrue( result1.fitness/len(data.x) < 2 ) 56 47 57 48 #fit with park test … … 63 54 64 55 self.assert_(result2) 65 66 self.assertTrue( ( math.fabs(result2.pvec[0]-4)/3 == result2.stderr[0] ) or 67 ( math.fabs(result2.pvec[0]-4)/3 < result2.stderr[0]) ) 68 69 self.assertTrue( ( math.fabs(result2.pvec[1]-2.5)/3 == result2.stderr[1] ) or 70 ( math.fabs(result2.pvec[1]-2.5)/3 < result2.stderr[1]) ) 71 self.assertTrue(result2.fitness/49 < 2) 56 self.assertTrue( math.fabs(result2.pvec[0]-4)/3 <= result2.stderr[0] ) 57 self.assertTrue( math.fabs(result2.pvec[1]-2.5)/3 <= result2.stderr[1] ) 58 self.assertTrue( result2.fitness/len(data.x) < 2) 72 59 # compare fit result result for scipy and park 73 60 self.assertAlmostEquals( result1.pvec[0], result2.pvec[0] ) … … 75 62 self.assertAlmostEquals( result1.stderr[0],result2.stderr[0] ) 76 63 self.assertAlmostEquals( result1.stderr[1],result2.stderr[1] ) 77 self.assertAlmostEquals( result1.fitness,result2.fitness ) 64 self.assertAlmostEquals( result1.fitness, 65 result2.fitness/len(data.x),1 ) 66 78 67 79 68 def test2(self): … … 133 122 134 123 self.assert_(result2) 135 self.assertTrue( ( math.fabs(result2.pvec[0]-4)/3 == result2.stderr[0] ) or 136 ( math.fabs(result2.pvec[0]-4)/3 < result2.stderr[0]) ) 137 138 self.assertTrue( ( math.fabs(result2.pvec[1]-2.5)/3 == result2.stderr[1] ) or 139 ( math.fabs(result2.pvec[1]-2.5)/3 < result2.stderr[1]) ) 140 self.assertTrue(result2.fitness/49 < 2) 124 self.assertTrue( math.fabs(result2.pvec[0]-4)/3 <= result2.stderr[0] ) 125 self.assertTrue( math.fabs(result2.pvec[1]-2.5)/3 <= result2.stderr[1] ) 126 self.assertTrue( result2.fitness/len(data2.x) < 2) 141 127 142 128 … … 158 144 model11 = LineModel() 159 145 model11.name= "line" 160 146 model11.setParam("A", 1.0) 147 model11.setParam("B",1.0) 148 161 149 model22 = Constant() 162 150 model22.name= "cst" 151 model22.setParam("value", 1.0) 152 163 153 # Constrain the constant value to be equal to parameter B (the real value is 2.5) 164 165 #data1 = Data(sans_data=data11 ) 166 #data2 = Data(sans_data=data22 ) 154 167 155 data11.smearer= None 168 156 data22.smearer= None … … 187 175 result2 = fitter.fit() 188 176 self.assert_(result2) 189 self.assertTrue( ( math.fabs(result2.pvec[0]-4.0)/3. < result2.stderr[0]) ) 190 191 self.assertTrue( ( math.fabs(result2.pvec[1]-2.5)/3. < result2.stderr[1]) ) 192 self.assertTrue(result2.fitness/49 < 2) 177 self.assertTrue( math.fabs(result2.pvec[0]-4.0)/3. <= result2.stderr[0]) 178 self.assertTrue( math.fabs(result2.pvec[1]-2.5)/3. <= result2.stderr[1]) 179 self.assertTrue( result2.fitness/len(data2.x) < 2) 193 180 194 181 … … 209 196 model1 = LineModel() 210 197 model1.name= "M1" 211 212 data11.smearer=None 213 data22.smearer=None 198 model1.setParam("A", 1.0) 199 model1.setParam("B",1.0) 200 model = Model(model1) 201 202 data11.smearer= None 203 data22.smearer= None 214 204 data1 = FitData1D(data11 ) 215 205 data2 = FitData1D(data22 ) 216 model = Model(model1)217 206 218 207 #fit with scipy test … … 226 215 self.assert_(result1) 227 216 228 self.assertTrue( ( math.fabs(result1.pvec[0]-4)/3 == result1.stderr[0] ) or 229 ( math.fabs(result1.pvec[0]-4)/3 < result1.stderr[0]) ) 230 231 self.assertTrue( ( math.fabs(result1.pvec[1]-2.5)/3 == result1.stderr[1]) or 232 ( math.fabs(result1.pvec[1]-2.5)/3 < result1.stderr[1] ) ) 233 self.assertTrue( result1.fitness/49 < 2 ) 234 217 self.assertTrue( math.fabs(result1.pvec[0]-4)/3 <= result1.stderr[0] ) 218 self.assertTrue( math.fabs(result1.pvec[1]-2.5)/3 <= result1.stderr[1]) 219 self.assertTrue( result1.fitness/len(data1.x) < 2 ) 235 220 236 221 #fit with park test … … 243 228 244 229 self.assert_(result2) 245 self.assertTrue( ( math.fabs(result2.pvec[0]-4)/3 == result2.stderr[0] ) or 246 ( math.fabs(result2.pvec[0]-4)/3 < result2.stderr[0]) ) 247 248 self.assertTrue( ( math.fabs(result2.pvec[1]-2.5)/3 == result2.stderr[1] ) or 249 ( math.fabs(result2.pvec[1]-2.5)/3 < result2.stderr[1]) ) 250 self.assertTrue(result2.fitness/49 < 2) 230 self.assertTrue( math.fabs(result2.pvec[0]-4)/3 <= result2.stderr[0] ) 231 self.assertTrue( math.fabs(result2.pvec[1]-2.5)/3 <= result2.stderr[1] ) 232 self.assertTrue( result2.fitness/len(data1.x) < 2) 251 233 # compare fit result result for scipy and park 252 234 self.assertAlmostEquals( result1.pvec[0], result2.pvec[0] ) … … 254 236 self.assertAlmostEquals( result1.stderr[0],result2.stderr[0] ) 255 237 self.assertAlmostEquals( result1.stderr[1],result2.stderr[1] ) 256 self.assertAlmostEquals( result1.fitness,result2.fitness ) 238 #self.assertAlmostEquals( result1.fitness,result2.fitness ) 239 self.assertTrue( result1.fitness/len(data1.x) < 2 ) 240 self.assertTrue( result2.fitness/len(data2.x) < 2 ) 241 242 257 243 244
Note: See TracChangeset
for help on using the changeset viewer.