Skip to content

Commit 8e0376a

Browse files
committed
tests: fitresults
1 parent f27ab7a commit 8e0376a

File tree

2 files changed

+61
-51
lines changed

2 files changed

+61
-51
lines changed

tests/conftest.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,7 @@ def datafile():
106106
"""Fixture to load a test data file from the testdata package directory."""
107107

108108
def _datafile(filename):
109-
return importlib.resources.files(
110-
"diffpy.srfit.tests.testdata"
111-
).joinpath(filename)
109+
return importlib.resources.files("tests.testdata").joinpath(filename)
112110

113111
return _datafile
114112

tests/test_fitresults.py

Lines changed: 60 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -16,64 +16,76 @@
1616

1717
import unittest
1818

19+
import pytest
20+
1921
from diffpy.srfit.fitbase.fitrecipe import FitRecipe
2022
from diffpy.srfit.fitbase.fitresults import initializeRecipe
2123

22-
from .utils import datafile
2324

25+
def testInitializeFromFileName(datafile):
26+
recipe = FitRecipe("recipe")
27+
recipe.newVar("A", 0)
28+
recipe.newVar("sig", 0)
29+
recipe.newVar("x0", 0)
30+
filename = datafile("results.res")
31+
Aval = 5.77619823e-01
32+
sigval = -9.22758690e-01
33+
x0val = 6.12422115e00
34+
35+
assert 0 == recipe.A.value
36+
assert 0 == recipe.sig.value
37+
assert 0 == recipe.x0.value
38+
initializeRecipe(recipe, filename)
39+
assert Aval == pytest.approx(recipe.A.value)
40+
assert sigval == pytest.approx(recipe.sig.value)
41+
assert x0val == pytest.approx(recipe.x0.value)
42+
return
2443

25-
class TestInitializeRecipe(unittest.TestCase):
2644

27-
def setUp(self):
28-
self.recipe = recipe = FitRecipe("recipe")
29-
recipe.newVar("A", 0)
30-
recipe.newVar("sig", 0)
31-
recipe.newVar("x0", 0)
32-
self.filename = datafile("results.res")
45+
def testInitializeFromFileObj(datafile):
46+
recipe = FitRecipe("recipe")
47+
recipe.newVar("A", 0)
48+
recipe.newVar("sig", 0)
49+
recipe.newVar("x0", 0)
50+
filename = datafile("results.res")
51+
Aval = 5.77619823e-01
52+
sigval = -9.22758690e-01
53+
x0val = 6.12422115e00
3354

34-
self.Aval = 5.77619823e-01
35-
self.sigval = -9.22758690e-01
36-
self.x0val = 6.12422115e00
37-
return
55+
assert 0 == recipe.A.value
56+
assert 0 == recipe.sig.value
57+
assert 0 == recipe.x0.value
58+
infile = open(filename, "r")
59+
initializeRecipe(recipe, infile)
60+
assert not infile.closed
61+
infile.close()
62+
assert Aval == pytest.approx(recipe.A.value)
63+
assert sigval == pytest.approx(recipe.sig.value)
64+
assert x0val == pytest.approx(recipe.x0.value)
65+
return
3866

39-
def testInitializeFromFileName(self):
40-
recipe = self.recipe
41-
self.assertEqual(0, recipe.A.value)
42-
self.assertEqual(0, recipe.sig.value)
43-
self.assertEqual(0, recipe.x0.value)
44-
initializeRecipe(recipe, self.filename)
45-
self.assertAlmostEqual(self.Aval, recipe.A.value)
46-
self.assertAlmostEqual(self.sigval, recipe.sig.value)
47-
self.assertAlmostEqual(self.x0val, recipe.x0.value)
48-
return
4967

50-
def testInitializeFromFileObj(self):
51-
recipe = self.recipe
52-
self.assertEqual(0, recipe.A.value)
53-
self.assertEqual(0, recipe.sig.value)
54-
self.assertEqual(0, recipe.x0.value)
55-
infile = open(self.filename, "r")
56-
initializeRecipe(recipe, infile)
57-
self.assertFalse(infile.closed)
58-
infile.close()
59-
self.assertAlmostEqual(self.Aval, recipe.A.value)
60-
self.assertAlmostEqual(self.sigval, recipe.sig.value)
61-
self.assertAlmostEqual(self.x0val, recipe.x0.value)
62-
return
68+
def testInitializeFromString(datafile):
69+
recipe = FitRecipe("recipe")
70+
recipe.newVar("A", 0)
71+
recipe.newVar("sig", 0)
72+
recipe.newVar("x0", 0)
73+
filename = datafile("results.res")
74+
Aval = 5.77619823e-01
75+
sigval = -9.22758690e-01
76+
x0val = 6.12422115e00
6377

64-
def testInitializeFromString(self):
65-
recipe = self.recipe
66-
self.assertEqual(0, recipe.A.value)
67-
self.assertEqual(0, recipe.sig.value)
68-
self.assertEqual(0, recipe.x0.value)
69-
infile = open(self.filename, "r")
70-
resstr = infile.read()
71-
infile.close()
72-
initializeRecipe(recipe, resstr)
73-
self.assertAlmostEqual(self.Aval, recipe.A.value)
74-
self.assertAlmostEqual(self.sigval, recipe.sig.value)
75-
self.assertAlmostEqual(self.x0val, recipe.x0.value)
76-
return
78+
assert 0 == recipe.A.value
79+
assert 0 == recipe.sig.value
80+
assert 0 == recipe.x0.value
81+
infile = open(filename, "r")
82+
resstr = infile.read()
83+
infile.close()
84+
initializeRecipe(recipe, resstr)
85+
assert Aval == pytest.approx(recipe.A.value)
86+
assert sigval == pytest.approx(recipe.sig.value)
87+
assert x0val == pytest.approx(recipe.x0.value)
88+
return
7789

7890

7991
if __name__ == "__main__":

0 commit comments

Comments
 (0)