Skip to content

Commit ab72a94

Browse files
committed
Migrate to pytest 4
Yield tests were removed in pytest 4. Convert to parameterized.
1 parent 3b0a59e commit ab72a94

File tree

2 files changed

+95
-83
lines changed

2 files changed

+95
-83
lines changed

test/diffcalc/hkl/vlieg/test_geometry.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import random
2020
import unittest
2121
from math import pi
22+
import pytest
2223

2324
try:
2425
from numpy import matrix
@@ -120,7 +121,14 @@ def baseAnglesToLabVector(delta, gamma):
120121
return GAMMA * DELTA * y_vector
121122

122123

123-
def checkGammaOnArmToBase(alpha, deltaA, gammaA):
124+
@pytest.mark.parametrize("alpha_deg", [-89.9, -45, -1, 0, 1, 45, 89.9])
125+
@pytest.mark.parametrize("gammaA_deg", [-89.9, -46, -45, -44, -1, 0, 1, 44, 45, 46, 89.9])
126+
@pytest.mark.parametrize("deltaA_deg", [-179.9, -135, -91, -89.9, -89, -46, -45, -44, -1, 0,
127+
1, 44, 45, 46, 89, 89.9, 91, 135, 179.9])
128+
def testCheckGammaOnArmToBase(alpha_deg, deltaA_deg, gammaA_deg):
129+
alpha = alpha_deg * TORAD
130+
deltaA = deltaA_deg * TORAD
131+
gammaA = gammaA_deg * TORAD
124132
deltaB, gammaB = gammaOnArmToBase(deltaA, gammaA, alpha)
125133

126134
labA = armAnglesToLabVector(alpha, deltaA, gammaA)
@@ -156,7 +164,14 @@ def checkBaseArmBaseReciprocity(alpha, delta_orig, gamma_orig):
156164
raise AssertionError(s)
157165

158166

159-
def checkArmBaseArmReciprocity(alpha, delta_orig, gamma_orig):
167+
@pytest.mark.parametrize("alpha_deg", [-89.9, -45, -1, 0, 1, 45, 89.9])
168+
@pytest.mark.parametrize("gamma_orig_deg", [-89.9, -46, -45, -44, -1, 0, 1, 44, 45, 46, 89.9])
169+
@pytest.mark.parametrize("delta_orig_deg", [-179.9, -135, -91, -89.9, -89, -46, -45, -44, -1, 0,
170+
1, 44, 45, 46, 89, 89.9, 91, 135, 179.9])
171+
def testcheckArmBaseArmReciprocity(alpha_deg, delta_orig_deg, gamma_orig_deg):
172+
alpha = alpha_deg * TORAD
173+
delta_orig = delta_orig_deg * TORAD
174+
gamma_orig = gamma_orig_deg * TORAD
160175
(deltaA, gammaA) = (delta_orig, gamma_orig)
161176
(deltaB, gammaB) = gammaOnArmToBase(deltaA, gammaA, alpha)
162177
(deltaA, gammaA) = gammaOnBaseToArm(deltaB, gammaB, alpha)
@@ -173,17 +188,6 @@ def checkArmBaseArmReciprocity(alpha, delta_orig, gamma_orig):
173188
raise AssertionError(s)
174189

175190

176-
def test_generator_for_cases():
177-
for alpha in [-89.9, -45, -1, 0, 1, 45, 89.9]:
178-
for gamma in [-89.9, -46, -45, -44, -1, 0, 1, 44, 45, 46, 89.9]:
179-
for delta in [-179.9, -135, -91, -89.9, -89, -46, -45, -44, -1, 0,
180-
1, 44, 45, 46, 89, 89.9, 91, 135, 179.9]:
181-
yield (checkGammaOnArmToBase, alpha * TORAD, delta * TORAD,
182-
gamma * TORAD)
183-
yield (checkArmBaseArmReciprocity, alpha * TORAD,
184-
delta * TORAD, gamma * TORAD)
185-
186-
187191
class TestFiveCirclePlugin(object):
188192

189193
def setup_method(self):

test/diffcalc/ub/test_calculation_vlieg.py

Lines changed: 78 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from math import cos, sin, pi
2222

2323
from mock import Mock
24+
import pytest
2425
from nose.tools import raises
2526
from diffcalc import settings
2627
try:
@@ -221,68 +222,74 @@ def check(self, testname, hklref1, hklref2, expectedUMatrix):
221222
self.addref(hklref2)
222223
matrixeq_(expectedUMatrix, self.ubcalc.U)
223224

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))
233227

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,
240242
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))
262245

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)
273267

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)
286293

287294

288295
class TestUBCalcWithcubicOneRef(TestUBCalcWithCubic):
@@ -293,19 +300,20 @@ def check(self, testname, hklref, expectedUMatrix):
293300
self.ubcalc.calculate_UB_from_primary_only()
294301
matrixeq_(expectedUMatrix, self.ubcalc.U)
295302

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,
301308
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)
309317

310318
def test_with_x_mismount_h(self):
311319
U = x_rotation(ROT)

0 commit comments

Comments
 (0)