21
21
from math import cos , sin , pi
22
22
23
23
from mock import Mock
24
+ import pytest
24
25
from nose .tools import raises
25
26
from diffcalc import settings
26
27
try :
@@ -221,68 +222,74 @@ def check(self, testname, hklref1, hklref2, expectedUMatrix):
221
222
self .addref (hklref2 )
222
223
matrixeq_ (expectedUMatrix , self .ubcalc .U )
223
224
224
- def test_with_squarely_mounted (self ):
225
- href = ((1 , 0 , 0 ),
226
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 , phi = 0 ))
227
- lref = ((0 , 0 , 1 ),
228
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 , phi = 0 ))
229
- pairs = (("hl" , href , lref , I ),
230
- ("lh" , lref , href , I ))
231
- for testname , ref1 , ref2 , u in pairs :
232
- yield self .check , testname , ref1 , ref2 , u
225
+ squarely_mounted_href = ((1 , 0 , 0 ),
226
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 , phi = 0 ))
233
227
234
- def test_with_x_mismount (self ):
235
- U = x_rotation (ROT )
236
- href = ((1 , 0 , 0 ),
237
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 , phi = 0 ))
238
- kref = ((0 , 1 , 0 ),
239
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 - ROT + 90 , chi = 90 ,
228
+ squarely_mounted_lref = ((0 , 0 , 1 ),
229
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 , phi = 0 ))
230
+
231
+ @pytest .mark .parametrize ("testname, ref1, ref2, u" , [("hl" , squarely_mounted_href , squarely_mounted_lref , I ),
232
+ ("lh" , squarely_mounted_lref , squarely_mounted_href , I )])
233
+ def test_with_squarely_mounted (self , testname , ref1 , ref2 , u ):
234
+ self .check (testname , ref1 , ref2 , u )
235
+
236
+
237
+ U_x_mismount = x_rotation (ROT )
238
+ href_x_mismount = ((1 , 0 , 0 ),
239
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 , phi = 0 ))
240
+ kref_x_mismount = ((0 , 1 , 0 ),
241
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 - ROT + 90 , chi = 90 ,
240
242
phi = 0 ))
241
- lref = ((0 , 0 , 1 ),
242
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 - ROT , chi = 90 , phi = 0 ))
243
- pairs = (("hk" , href , kref , U ),
244
- ("hl" , href , lref , U ),
245
- ("kh" , kref , href , U ),
246
- ("kl" , kref , lref , U ),
247
- ("lk" , lref , kref , U ),
248
- ("lh" , lref , href , U ))
249
- for testname , ref1 , ref2 , u in pairs :
250
- yield self .check , testname , ref1 , ref2 , u
251
-
252
- def test_with_y_mismount (self ):
253
- U = y_rotation (ROT )
254
- href = ((1 , 0 , 0 ),
255
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 - ROT , phi = 0 ))
256
- lref = ((0 , 0 , 1 ),
257
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 - ROT , phi = 0 ))
258
- pairs = (("hl" , href , lref , U ),
259
- ("lh" , lref , href , U ))
260
- for testname , ref1 , ref2 , u in pairs :
261
- yield self .check , testname , ref1 , ref2 , u
243
+ lref_x_mismount = ((0 , 0 , 1 ),
244
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 - ROT , chi = 90 , phi = 0 ))
262
245
263
- def test_with_z_mismount (self ):
264
- U = z_rotation (ROT )
265
- href = ((1 , 0 , 0 ),
266
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 , phi = 0 + ROT ))
267
- lref = ((0 , 0 , 1 ), # phi degenerate
268
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 , phi = 67 ))
269
- pairs = (("hl" , href , lref , U ),
270
- ("lh" , lref , href , U ))
271
- for testname , ref1 , ref2 , u in pairs :
272
- yield self .check , testname , ref1 , ref2 , u
246
+ @pytest .mark .parametrize ("testname, ref1, ref2, u" , (("hk" , href_x_mismount , kref_x_mismount , U_x_mismount ),
247
+ ("hl" , href_x_mismount , lref_x_mismount , U_x_mismount ),
248
+ ("kh" , kref_x_mismount , href_x_mismount , U_x_mismount ),
249
+ ("kl" , kref_x_mismount , lref_x_mismount , U_x_mismount ),
250
+ ("lk" , lref_x_mismount , kref_x_mismount , U_x_mismount ),
251
+ ("lh" , lref_x_mismount , href_x_mismount , U_x_mismount )))
252
+ def test_with_x_mismount (self , testname , ref1 , ref2 , u ):
253
+ self .check (testname , ref1 , ref2 , u )
254
+
255
+
256
+
257
+ U_y_mismount = y_rotation (ROT )
258
+ href_y_mismount = ((1 , 0 , 0 ),
259
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 - ROT , phi = 0 ))
260
+ lref_y_mismounr = ((0 , 0 , 1 ),
261
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 - ROT , phi = 0 ))
262
+
263
+ @pytest .mark .parametrize ("testname, ref1, ref2, u" , (("hl" , href_y_mismount , lref_y_mismounr , U_y_mismount ),
264
+ ("lh" , lref_y_mismounr , href_y_mismount , U_y_mismount )))
265
+ def test_with_y_mismount (self , testname , ref1 , ref2 , u ):
266
+ self .check (testname , ref1 , ref2 , u )
273
267
274
- def test_with_zy_mismount (self ):
275
- U = z_rotation (ROT ) * y_rotation (ROT )
276
- href = ((1 , 0 , 0 ),
277
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 - ROT ,
278
- phi = 0 + ROT ))
279
- lref = ((0 , 0 , 1 ),
280
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 - ROT ,
281
- phi = ROT )) # chi degenerate
282
- pairs = (("hl" , href , lref , U ),
283
- ("lh" , lref , href , U ))
284
- for testname , ref1 , ref2 , u in pairs :
285
- yield self .check , testname , ref1 , ref2 , u
268
+
269
+ U_z_mismount = z_rotation (ROT )
270
+ href_z_mismount = ((1 , 0 , 0 ),
271
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 , phi = 0 + ROT ))
272
+ lref_z_mismount = ((0 , 0 , 1 ), # phi degenerate
273
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 , phi = 67 ))
274
+
275
+ @pytest .mark .parametrize ("testname, ref1, ref2, u" , (("hl" , href_z_mismount , lref_z_mismount , U_z_mismount ),
276
+ ("lh" , lref_z_mismount , href_z_mismount , U_z_mismount )))
277
+ def test_with_z_mismount (self ,testname , ref1 , ref2 , u ):
278
+ self .check (testname , ref1 , ref2 , u )
279
+
280
+
281
+ U_zy_mismount = z_rotation (ROT ) * y_rotation (ROT )
282
+ href_zy_mismount = ((1 , 0 , 0 ),
283
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 - ROT ,
284
+ phi = 0 + ROT ))
285
+ lref_zy_mismount = ((0 , 0 , 1 ),
286
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 - ROT ,
287
+ phi = ROT )) # chi degenerate
288
+
289
+ @pytest .mark .parametrize ("testname, ref1, ref2, u" , (("hl" , href_zy_mismount , lref_zy_mismount , U_zy_mismount ),
290
+ ("lh" , lref_zy_mismount , href_zy_mismount , U_zy_mismount )))
291
+ def test_with_zy_mismount (self , testname , ref1 , ref2 , u ):
292
+ self .check (testname , ref1 , ref2 , u )
286
293
287
294
288
295
class TestUBCalcWithcubicOneRef (TestUBCalcWithCubic ):
@@ -293,19 +300,20 @@ def check(self, testname, hklref, expectedUMatrix):
293
300
self .ubcalc .calculate_UB_from_primary_only ()
294
301
matrixeq_ (expectedUMatrix , self .ubcalc .U )
295
302
296
- def test_with_squarely_mounted ( self ):
297
- href = ((1 , 0 , 0 ),
298
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 , phi = 0 ))
299
- href_b = ((1 , 0 , 0 ),
300
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 + 90 , chi = 90 ,
303
+
304
+ href_sq = ((1 , 0 , 0 ),
305
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 0 , phi = 0 ))
306
+ href_b_sq = ((1 , 0 , 0 ),
307
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 + 90 , chi = 90 ,
301
308
phi = - 90 ))
302
- lref = ((0 , 0 , 1 ), # degenerate in phi
303
- Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 , phi = 67 ))
304
- pairs = (("h" , href , I ),
305
- ("hb" , href_b , I ),
306
- ("l" , lref , I ))
307
- for testname , ref , u in pairs :
308
- yield self .check , testname , ref , u
309
+ lref_sq = ((0 , 0 , 1 ), # degenerate in phi
310
+ Pos (alpha = 0 , delta = 60 , gamma = 0 , omega = 30 , chi = 90 , phi = 67 ))
311
+
312
+ @pytest .mark .parametrize ("testname, ref, u" ,(("h" , href_sq , I ),
313
+ ("hb" , href_b_sq , I ),
314
+ ("l" , lref_sq , I )))
315
+ def test_with_squarely_mounted (self , testname , ref , u ):
316
+ self .check (testname , ref , u )
309
317
310
318
def test_with_x_mismount_h (self ):
311
319
U = x_rotation (ROT )
0 commit comments