Changeset 5e903e8b in sasview for test/sasdataloader
- Timestamp:
- May 2, 2017 8:07:40 AM (8 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.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- e123eb9
- Parents:
- b290a9e (diff), 658dd57 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Location:
- test/sasdataloader
- Files:
-
- 3 added
- 3 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
test/sasdataloader/plugins/test_reader.py
r959eb01 raaf5e49 8 8 copyright 2008, University of Tennessee 9 9 """ 10 from __future__ import print_function 11 10 12 import os 11 13 import numpy as np … … 59 61 reader = Reader() 60 62 output = reader.read("../test/test_data.test") 61 print output.x63 print(output.x) 62 64 63 65 -
test/sasdataloader/test/sequence_tests.py
r959eb01 raaf5e49 1 from __future__ import print_function 2 1 3 from DataLoader.loader import Loader 2 4 from DataLoader.readers.IgorReader import Reader as igor_reader … … 8 10 out2 = Loader().load("MAR07232_rest.ASC") 9 11 if len(out2.detector)>1: 10 print "Consecutive reads using Loader failed"12 print("Consecutive reads using Loader failed") 11 13 12 14 def consecutive_reader(): … … 14 16 out2 = igor_reader().read("MAR07232_rest.ASC") 15 17 if len(out2.detector)>1: 16 print "Consecutive reads using Readers failed"17 print out118 print out218 print("Consecutive reads using Readers failed") 19 print(out1) 20 print(out2) 19 21 20 22 def single_abs(): … … 29 31 single_igor() 30 32 single_abs() 31 print "Test passed"33 print("Test passed") -
test/sasdataloader/test/testplugings.py
r959eb01 r17c9436 3 3 """ 4 4 5 import os 5 6 import unittest 6 7 from sas.sascalc.dataloader.loader import Loader, Registry … … 41 42 # Create module 42 43 import zipfile 43 z = zipfile.PyZipFile("plugins.zip", 'w') 44 f_name = "plugins.zip" 45 z = zipfile.PyZipFile(f_name, 'w') 44 46 z.writepy("../plugins", "") 45 47 z.close() 48 if os.path.isfile(f_name): 49 os.remove(f_name) 46 50 47 51 def testplugin_checksetup(self): -
test/sasdataloader/test/utest_abs_reader.py
rdd11014 rc551bb3 2 2 Unit tests for data manipulations 3 3 """ 4 from __future__ import print_function 4 5 5 6 import unittest … … 8 9 from sas.sascalc.dataloader.loader import Loader 9 10 from sas.sascalc.dataloader.readers.IgorReader import Reader as IgorReader 11 from sas.sascalc.dataloader.readers.abs_reader import Reader as AbsReader 12 from sas.sascalc.dataloader.readers.hfir1d_reader import Reader as HFIRReader 13 from sas.sascalc.dataloader.readers.danse_reader import Reader as DANSEReader 14 from sas.sascalc.dataloader.readers.cansas_reader import Reader as CANSASReader 15 10 16 from sas.sascalc.dataloader.data_info import Data1D 11 17 12 18 import os.path 13 19 20 14 21 class abs_reader(unittest.TestCase): 15 22 16 23 def setUp(self): 17 from sas.sascalc.dataloader.readers.abs_reader import Reader18 self.data = Reader().read("jan08002.ABS")19 24 reader = AbsReader() 25 self.data = reader.read("jan08002.ABS") 26 20 27 def test_abs_checkdata(self): 21 28 """ … … 61 68 def test_checkdata2(self): 62 69 self.assertEqual(self.data.dy[126], 1) 63 70 71 def test_generic_loader(self): 72 # the generic loader should work as well 73 data = Loader().load("jan08002.ABS") 74 self.assertEqual(data.meta_data['loader'], "IGOR 1D") 75 76 64 77 class hfir_reader(unittest.TestCase): 65 78 66 79 def setUp(self): 67 self.data = Loader().load("S2-30dq.d1d") 68 80 reader = HFIRReader() 81 self.data = reader.read("S2-30dq.d1d") 82 69 83 def test_hfir_checkdata(self): 70 84 """ … … 83 97 self.assertEqual(self.data.dy[1], 0.000315) 84 98 self.assertEqual(self.data.dx[1], 0.008249) 85 99 100 def test_generic_loader(self): 101 # the generic loader should work as well 102 data = Loader().load("S2-30dq.d1d") 103 self.assertEqual(data.meta_data['loader'], "HFIR 1D") 104 86 105 87 106 class igor_reader(unittest.TestCase): … … 137 156 138 157 def setUp(self): 139 self.data = Loader().load("MP_New.sans") 158 reader = DANSEReader() 159 self.data = reader.read("MP_New.sans") 140 160 141 161 def test_checkdata(self): … … 171 191 self.assertEqual(self.data.err_data[2], 2.06313) 172 192 193 def test_generic_loader(self): 194 # the generic loader should work as well 195 data = Loader().load("MP_New.sans") 196 self.assertEqual(data.meta_data['loader'], "DANSE") 197 173 198 174 199 class cansas_reader(unittest.TestCase): 175 200 176 201 def setUp(self): 202 reader = CANSASReader() 203 data = reader.read("cansas1d.xml") 204 self.data = data[0] 205 206 def test_generic_loader(self): 207 # the generic loader should work as well 177 208 data = Loader().load("cansas1d.xml") 178 self. data = data[0]179 209 self.assertEqual(data[0].meta_data['loader'], "CanSAS XML 1D") 210 180 211 def test_cansas_checkdata(self): 181 212 self.assertEqual(self.data.filename, "cansas1d.xml") … … 190 221 tests won't pass 191 222 """ 192 193 223 self.assertEqual(self.data.run[0], "1234") 194 224 self.assertEqual(self.data.meta_data['loader'], "CanSAS XML 1D") … … 264 294 self.assertEqual(item.distance_unit,'mm') 265 295 266 if item.size.x ==50 \267 and item.distance ==11000.0 \268 and item.name =='source' \269 and item.type =='radius':296 if item.size.x == 50 \ 297 and item.distance == 11000.0 \ 298 and item.name == 'source' \ 299 and item.type == 'radius': 270 300 _found1 = True 271 elif item.size.x ==1.0 \272 and item.name =='sample' \273 and item.type =='radius':301 elif item.size.x == 1.0 \ 302 and item.name == 'sample' \ 303 and item.type == 'radius': 274 304 _found2 = True 275 305 276 if _found1 ==False or _found2==False:306 if _found1 == False or _found2 == False: 277 307 raise RuntimeError, "Could not find all data %s %s" % (_found1, _found2) 278 308 … … 309 339 self.assertTrue(item.date in ['04-Sep-2007 18:35:02', 310 340 '03-SEP-2006 11:42:47']) 311 print item.term341 print(item.term) 312 342 for t in item.term: 313 if t['name']=="ABS:DSTAND" \314 and t['unit'] =='mm' \315 and float(t['value']) ==1.0:343 if (t['name'] == "ABS:DSTAND" 344 and t['unit'] == 'mm' 345 and float(t['value']) == 1.0): 316 346 _found_term2 = True 317 elif t['name']=="radialstep" \318 and t['unit']=='mm' \319 and float(t['value'])==10.0:347 elif (t['name'] == "radialstep" 348 and t['unit'] == 'mm' 349 and float(t['value']) == 10.0): 320 350 _found_term1 = True 321 351 322 if _found_term1==False or _found_term2==False: 323 raise RuntimeError, "Could not find all process terms %s %s" % (_found_term1, _found_term2) 324 325 326 352 if _found_term1 == False or _found_term2 == False: 353 raise RuntimeError, "Could not find all process terms %s %s" % (_found_term1, _found_term2) 327 354 328 355 def test_writer(self): 329 from sas.sascalc.dataloader.readers.cansas_reader import Reader 330 r = Reader() 331 x = np.ones(5) 332 y = np.ones(5) 333 dy = np.ones(5) 334 356 r = CANSASReader() 357 335 358 filename = "write_test.xml" 336 359 r.write(filename, self.data) … … 339 362 self.assertEqual(self.data.filename, filename) 340 363 self._checkdata() 364 if os.path.isfile(filename): 365 os.remove(filename) 341 366 342 367 def test_units(self): … … 346 371 """ 347 372 filename = "cansas1d_units.xml" 348 data = Loader().load(filename)373 data = CANSASReader().read(filename) 349 374 self.data = data[0] 350 375 self.assertEqual(self.data.filename, filename) … … 357 382 """ 358 383 filename = "cansas1d_badunits.xml" 359 data = Loader().load(filename)384 data = CANSASReader().read(filename) 360 385 self.data = data[0] 361 386 self.assertEqual(self.data.filename, filename) … … 366 391 367 392 self.assertEqual(self.data.meta_data['loader'], "CanSAS XML 1D") 368 print self.data.errors393 print(self.data.errors) 369 394 self.assertEqual(len(self.data.errors), 1) 370 371 395 372 396 def test_slits(self): 373 397 """ … … 375 399 """ 376 400 filename = "cansas1d_slit.xml" 377 data = Loader().load(filename)401 data = CANSASReader().read(filename) 378 402 self.data = data[0] 379 403 self.assertEqual(self.data.filename, filename) … … 397 421 self.assertEqual(self.data.run_name['1234'], 'run name') 398 422 self.assertEqual(self.data.title, "Test title") 399 400 423 401 424 402 425 if __name__ == '__main__': -
test/sasdataloader/test/utest_cansas.py
r7432acb r1fc50fb2 46 46 self.schema_1_0 = "cansas1d_v1_0.xsd" 47 47 self.schema_1_1 = "cansas1d_v1_1.xsd" 48 48 self.write_1_0_filename = "isis_1_0_write_test.xml" 49 self.write_1_1_filename = "isis_1_1_write_test.xml" 49 50 50 51 def get_number_of_entries(self, dictionary, name, i): … … 56 57 return name 57 58 58 59 59 def test_invalid_xml(self): 60 60 """ … … 62 62 """ 63 63 invalid = StringIO.StringIO('<a><c></b></a>') 64 reader = XMLreader(invalid) 65 64 XMLreader(invalid) 66 65 67 66 def test_xml_validate(self): … … 82 81 self.assertFalse(xmlschema.validate(invalid)) 83 82 84 85 83 def test_real_xml(self): 86 84 reader = XMLreader(self.xml_valid, self.schema_1_0) … … 90 88 else: 91 89 self.assertFalse(valid) 92 93 90 94 91 def _check_data(self, data): … … 105 102 self.assertTrue(data.meta_data["xmlpreprocess"] is not None) 106 103 107 108 104 def _check_data_1_1(self, data): 109 105 spectrum = data.trans_spectrum[0] 110 106 self.assertTrue(len(spectrum.wavelength) == 138) 111 107 112 113 108 def test_cansas_xml(self): 114 filename = "isis_1_1_write_test.xml"115 109 xmlreader = XMLreader(self.isis_1_1, self.schema_1_1) 116 110 valid = xmlreader.validate_xml() 117 111 xmlreader.set_processing_instructions() 118 112 self.assertTrue(valid) 119 fo = open(self.isis_1_1)120 str = fo.read()121 113 reader_generic = Loader() 122 114 dataloader = reader_generic.load(self.isis_1_1) … … 128 120 self._check_data(cansasreader[i]) 129 121 self._check_data_1_1(cansasreader[i]) 130 reader_generic.save(filename, dataloader[i], None) 131 fo = open(filename) 132 str = fo.read() 122 reader_generic.save(self.write_1_1_filename, dataloader[i], None) 133 123 reader2 = Loader() 134 return_data = reader2.load(filename) 124 self.assertTrue(os.path.isfile(self.write_1_1_filename)) 125 return_data = reader2.load(self.write_1_1_filename) 135 126 written_data = return_data[0] 136 127 self._check_data(written_data) 137 128 if os.path.isfile(self.write_1_1_filename): 129 os.remove(self.write_1_1_filename) 138 130 139 131 def test_double_trans_spectra(self): … … 144 136 for item in data: 145 137 self._check_data(item) 146 147 138 148 139 def test_entry_name_recurse(self): … … 155 146 self.assertTrue(len(d) == 6) 156 147 157 158 148 def test_load_cansas_file(self): 159 valid = []160 149 reader1 = XMLreader(self.xml_valid, self.schema_1_0) 161 150 self.assertTrue(reader1.validate_xml()) … … 173 162 self.assertFalse(reader7.validate_xml()) 174 163 175 176 164 def test_invalid_cansas(self): 177 165 list = self.loader.load(self.cansas1d_notitle) … … 184 172 self.assertTrue(data.detector[0].distance == 4150) 185 173 186 187 174 def test_old_cansas_files(self): 188 175 reader1 = XMLreader(self.cansas1d, self.schema_1_0) 189 176 self.assertTrue(reader1.validate_xml()) 190 177 file_loader = Loader() 191 file 1 = file_loader.load(self.cansas1d)178 file_loader.load(self.cansas1d) 192 179 reader2 = XMLreader(self.cansas1d_units, self.schema_1_0) 193 180 self.assertTrue(reader2.validate_xml()) … … 197 184 self.assertTrue(reader4.validate_xml()) 198 185 199 200 186 def test_save_cansas_v1_0(self): 201 filename = "isis_1_0_write_test.xml"202 187 xmlreader = XMLreader(self.isis_1_0, self.schema_1_0) 203 188 valid = xmlreader.validate_xml() … … 210 195 self._check_data(dataloader[i]) 211 196 self._check_data(cansasreader[i]) 212 reader_generic.save( filename, dataloader[i], None)197 reader_generic.save(self.write_1_0_filename, dataloader[i], None) 213 198 reader2 = Reader() 214 return_data = reader2.read(filename) 199 self.assertTrue(os.path.isfile(self.write_1_0_filename)) 200 return_data = reader2.read(self.write_1_0_filename) 215 201 written_data = return_data[0] 216 xmlwrite = XMLreader(filename, self.schema_1_0)202 XMLreader(self.write_1_0_filename, self.schema_1_0) 217 203 valid = xmlreader.validate_xml() 218 204 self.assertTrue(valid) 219 205 self._check_data(written_data) 220 206 if os.path.isfile(self.write_1_0_filename): 207 os.remove(self.write_1_0_filename) 221 208 222 209 def test_processing_instructions(self): … … 224 211 valid = reader.validate_xml() 225 212 if valid: 226 # #find the processing instructions and make into a dictionary213 # find the processing instructions and make into a dictionary 227 214 dic = self.get_processing_instructions(reader) 228 215 self.assertTrue(dic == {'xml-stylesheet': \ … … 232 219 xmldoc = minidom.parseString(xml) 233 220 234 # #take the processing instructions and put them back in221 # take the processing instructions and put them back in 235 222 xmldoc = self.set_processing_instructions(xmldoc, dic) 236 xml_output = xmldoc.toprettyxml() 237 223 xmldoc.toprettyxml() 238 224 239 225 def set_processing_instructions(self, minidom_object, dic): … … 243 229 minidom_object.insertBefore(pi, xmlroot) 244 230 return minidom_object 245 246 231 247 232 def get_processing_instructions(self, xml_reader_object): -
test/sasdataloader/test/utest_averaging.py
r9a5097c rfa4af76 1 1 2 import math 3 import os 2 4 import unittest 3 import math4 5 from sas.sascalc.dataloader.loader import Loader6 from sas.sascalc.dataloader.manipulations import Ring, CircularAverage, SectorPhi, get_q,reader2D_converter7 5 8 6 import numpy as np 7 9 8 import sas.sascalc.dataloader.data_info as data_info 9 from sas.sascalc.dataloader.loader import Loader 10 from sas.sascalc.dataloader.manipulations import (Boxavg, Boxsum, 11 CircularAverage, Ring, 12 SectorPhi, SectorQ, SlabX, 13 SlabY, get_q, 14 reader2D_converter) 15 10 16 11 17 class Averaging(unittest.TestCase): … … 13 19 Test averaging manipulations on a flat distribution 14 20 """ 21 15 22 def setUp(self): 16 23 """ … … 18 25 should return the predefined height of the distribution (1.0). 19 26 """ 20 x_0 = np.ones([100,100])21 dx_0 = np.ones([100, 100])22 27 x_0 = np.ones([100, 100]) 28 dx_0 = np.ones([100, 100]) 29 23 30 self.data = data_info.Data2D(data=x_0, err_data=dx_0) 24 31 detector = data_info.Detector() 25 detector.distance = 1000.0 # mm26 detector.pixel_size.x = 1.0 #mm27 detector.pixel_size.y = 1.0 #mm28 32 detector.distance = 1000.0 # mm 33 detector.pixel_size.x = 1.0 # mm 34 detector.pixel_size.y = 1.0 # mm 35 29 36 # center in pixel position = (len(x_0)-1)/2 30 detector.beam_center.x = (len(x_0) -1)/2 #pixel number31 detector.beam_center.y = (len(x_0) -1)/2 #pixel number37 detector.beam_center.x = (len(x_0) - 1) / 2 # pixel number 38 detector.beam_center.y = (len(x_0) - 1) / 2 # pixel number 32 39 self.data.detector.append(detector) 33 40 34 41 source = data_info.Source() 35 source.wavelength = 10.0 #A42 source.wavelength = 10.0 # A 36 43 self.data.source = source 37 38 # get_q(dx, dy, det_dist, wavelength) where units are mm,mm,mm,and A respectively. 44 45 # get_q(dx, dy, det_dist, wavelength) where units are mm,mm,mm,and A 46 # respectively. 39 47 self.qmin = get_q(1.0, 1.0, detector.distance, source.wavelength) 40 48 41 49 self.qmax = get_q(49.5, 49.5, detector.distance, source.wavelength) 42 50 43 51 self.qstep = len(x_0) 44 x = np.linspace(start= -1*self.qmax,45 stop=self.qmax,46 num=self.qstep,47 endpoint=True )48 y = np.linspace(start= -1*self.qmax,49 stop=self.qmax,50 num=self.qstep,51 endpoint=True)52 self.data.x_bins =x53 self.data.y_bins =y52 x = np.linspace(start=-1 * self.qmax, 53 stop=self.qmax, 54 num=self.qstep, 55 endpoint=True) 56 y = np.linspace(start=-1 * self.qmax, 57 stop=self.qmax, 58 num=self.qstep, 59 endpoint=True) 60 self.data.x_bins = x 61 self.data.y_bins = y 54 62 self.data = reader2D_converter(self.data) 55 63 56 64 def test_ring_flat_distribution(self): 57 65 """ 58 66 Test ring averaging 59 67 """ 60 r = Ring(r_min=2 *self.qmin, r_max=5*self.qmin,61 center_x=self.data.detector[0].beam_center.x, 68 r = Ring(r_min=2 * self.qmin, r_max=5 * self.qmin, 69 center_x=self.data.detector[0].beam_center.x, 62 70 center_y=self.data.detector[0].beam_center.y) 63 71 r.nbins_phi = 20 64 72 65 73 o = r(self.data) 66 74 for i in range(20): 67 75 self.assertEqual(o.y[i], 1.0) 68 76 69 77 def test_sectorphi_full(self): 70 78 """ 71 79 Test sector averaging 72 80 """ 73 r = SectorPhi(r_min=self.qmin, r_max=3 *self.qmin,74 phi_min=0, phi_max=math.pi *2.0)81 r = SectorPhi(r_min=self.qmin, r_max=3 * self.qmin, 82 phi_min=0, phi_max=math.pi * 2.0) 75 83 r.nbins_phi = 20 76 84 o = r(self.data) 77 85 for i in range(7): 78 86 self.assertEqual(o.y[i], 1.0) 79 80 87 81 88 def test_sectorphi_partial(self): 82 89 """ 83 90 """ 84 91 phi_max = math.pi * 1.5 85 r = SectorPhi(r_min=self.qmin, r_max=3 *self.qmin,92 r = SectorPhi(r_min=self.qmin, r_max=3 * self.qmin, 86 93 phi_min=0, phi_max=phi_max) 87 94 self.assertEqual(r.phi_max, phi_max) … … 91 98 for i in range(17): 92 99 self.assertEqual(o.y[i], 1.0) 93 94 95 96 class data_info_tests(unittest.TestCase): 97 100 101 102 class DataInfoTests(unittest.TestCase): 103 98 104 def setUp(self): 99 self.data = Loader().load('MAR07232_rest.ASC') 100 105 filepath = os.path.join(os.path.dirname( 106 os.path.realpath(__file__)), 'MAR07232_rest.ASC') 107 self.data = Loader().load(filepath) 108 101 109 def test_ring(self): 102 110 """ 103 111 Test ring averaging 104 112 """ 105 r = Ring(r_min=.005, r_max=.01, 106 center_x=self.data.detector[0].beam_center.x, 113 r = Ring(r_min=.005, r_max=.01, 114 center_x=self.data.detector[0].beam_center.x, 107 115 center_y=self.data.detector[0].beam_center.y, 108 nbins =20)116 nbins=20) 109 117 ##r.nbins_phi = 20 110 111 o = r(self.data) 112 answer = Loader().load('ring_testdata.txt') 113 118 119 o = r(self.data) 120 filepath = os.path.join(os.path.dirname( 121 os.path.realpath(__file__)), 'ring_testdata.txt') 122 answer = Loader().load(filepath) 123 114 124 for i in range(r.nbins_phi - 1): 115 125 self.assertAlmostEqual(o.x[i + 1], answer.x[i], 4) 116 126 self.assertAlmostEqual(o.y[i + 1], answer.y[i], 4) 117 127 self.assertAlmostEqual(o.dy[i + 1], answer.dy[i], 4) 118 128 119 129 def test_circularavg(self): 120 130 """ 131 Test circular averaging 132 The test data was not generated by IGOR. 133 """ 134 r = CircularAverage(r_min=.00, r_max=.025, 135 bin_width=0.0003) 136 r.nbins_phi = 20 137 138 o = r(self.data) 139 140 filepath = os.path.join(os.path.dirname( 141 os.path.realpath(__file__)), 'avg_testdata.txt') 142 answer = Loader().load(filepath) 143 for i in range(r.nbins_phi): 144 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 145 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 146 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 147 148 def test_box(self): 149 """ 121 150 Test circular averaging 122 151 The test data was not generated by IGOR. 123 152 """ 124 r = CircularAverage(r_min=.00, r_max=.025, 125 bin_width=0.0003) 126 r.nbins_phi = 20 127 128 o = r(self.data) 129 130 answer = Loader().load('avg_testdata.txt') 131 for i in range(r.nbins_phi): 132 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 133 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 134 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 135 136 def test_box(self): 137 """ 138 Test circular averaging 139 The test data was not generated by IGOR. 140 """ 141 from sas.sascalc.dataloader.manipulations import Boxsum, Boxavg 142 153 143 154 r = Boxsum(x_min=.01, x_max=.015, y_min=0.01, y_max=0.015) 144 155 s, ds, npoints = r(self.data) 145 156 self.assertAlmostEqual(s, 34.278990899999997, 4) 146 157 self.assertAlmostEqual(ds, 7.8007981835194293, 4) 147 self.assertAlmostEqual(npoints, 324.0000, 4) 148 158 self.assertAlmostEqual(npoints, 324.0000, 4) 159 149 160 r = Boxavg(x_min=.01, x_max=.015, y_min=0.01, y_max=0.015) 150 161 s, ds = r(self.data) 151 162 self.assertAlmostEqual(s, 0.10579935462962962, 4) 152 163 self.assertAlmostEqual(ds, 0.024076537603455028, 4) 153 164 154 165 def test_slabX(self): 155 166 """ … … 157 168 The test data was not generated by IGOR. 158 169 """ 159 from sas.sascalc.dataloader.manipulations import SlabX 160 161 r = SlabX(x_min=-.01, x_max=.01, y_min=-0.0002,y_max=0.0002, bin_width=0.0004)170 171 r = SlabX(x_min=-.01, x_max=.01, y_min=-0.0002, 172 y_max=0.0002, bin_width=0.0004) 162 173 r.fold = False 163 174 o = r(self.data) 164 175 165 answer = Loader().load('slabx_testdata.txt') 166 for i in range(len(o.x)): 167 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 168 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 169 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 170 176 filepath = os.path.join(os.path.dirname( 177 os.path.realpath(__file__)), 'slabx_testdata.txt') 178 answer = Loader().load(filepath) 179 for i in range(len(o.x)): 180 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 181 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 182 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 183 171 184 def test_slabY(self): 172 185 """ … … 174 187 The test data was not generated by IGOR. 175 188 """ 176 from sas.sascalc.dataloader.manipulations import SlabY 177 178 r = SlabY(x_min=.005, x_max=.01, y_min=-0.01, y_max=0.01, bin_width=0.0004)189 190 r = SlabY(x_min=.005, x_max=.01, y_min=- 191 0.01, y_max=0.01, bin_width=0.0004) 179 192 r.fold = False 180 193 o = r(self.data) 181 194 182 answer = Loader().load('slaby_testdata.txt') 183 for i in range(len(o.x)): 184 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 185 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 186 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 187 195 filepath = os.path.join(os.path.dirname( 196 os.path.realpath(__file__)), 'slaby_testdata.txt') 197 answer = Loader().load(filepath) 198 for i in range(len(o.x)): 199 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 200 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 201 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 202 188 203 def test_sectorphi_full(self): 189 204 """ … … 193 208 The test data was not generated by IGOR. 194 209 """ 195 from sas.sascalc.dataloader.manipulations import SectorPhi 196 import math 197 210 198 211 nbins = 19 199 212 phi_min = math.pi / (nbins + 1) 200 213 phi_max = math.pi * 2 - phi_min 201 214 202 215 r = SectorPhi(r_min=.005, 203 216 r_max=.01, … … 207 220 o = r(self.data) 208 221 209 answer = Loader().load('ring_testdata.txt') 210 for i in range(len(o.x)): 211 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 212 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 213 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 214 222 filepath = os.path.join(os.path.dirname( 223 os.path.realpath(__file__)), 'ring_testdata.txt') 224 answer = Loader().load(filepath) 225 for i in range(len(o.x)): 226 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 227 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 228 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 229 215 230 def test_sectorphi_quarter(self): 216 231 """ … … 218 233 The test data was not generated by IGOR. 219 234 """ 220 from sas.sascalc.dataloader.manipulations import SectorPhi 221 import math222 223 r = SectorPhi(r_min=.005, r_max=.01, phi_min=0, phi_max=math.pi/2.0)224 r.nbins_phi = 20 225 o = r(self.data)226 227 answer = Loader().load( 'sectorphi_testdata.txt')228 for i in range(len(o.x)): 229 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 230 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 231 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 232 235 236 r = SectorPhi(r_min=.005, r_max=.01, phi_min=0, phi_max=math.pi / 2.0) 237 r.nbins_phi = 20 238 o = r(self.data) 239 240 filepath = os.path.join(os.path.dirname( 241 os.path.realpath(__file__)), 'sectorphi_testdata.txt') 242 answer = Loader().load(filepath) 243 for i in range(len(o.x)): 244 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 245 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 246 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 247 233 248 def test_sectorq_full(self): 234 249 """ … … 236 251 The test data was not generated by IGOR. 237 252 """ 238 from sas.sascalc.dataloader.manipulations import SectorQ 239 import math240 241 r = SectorQ(r_min=.005, r_max=.01, phi_min=0, phi_max=math.pi/2.0)242 r.nbins_phi = 20 243 o = r(self.data)244 245 answer = Loader().load( 'sectorq_testdata.txt')246 for i in range(len(o.x)): 247 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 248 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 249 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 250 253 254 r = SectorQ(r_min=.005, r_max=.01, phi_min=0, phi_max=math.pi / 2.0) 255 r.nbins_phi = 20 256 o = r(self.data) 257 258 filepath = os.path.join(os.path.dirname( 259 os.path.realpath(__file__)), 'sectorq_testdata.txt') 260 answer = Loader().load(filepath) 261 for i in range(len(o.x)): 262 self.assertAlmostEqual(o.x[i], answer.x[i], 4) 263 self.assertAlmostEqual(o.y[i], answer.y[i], 4) 264 self.assertAlmostEqual(o.dy[i], answer.dy[i], 4) 265 251 266 252 267 if __name__ == '__main__':
Note: See TracChangeset
for help on using the changeset viewer.