|
6 | 6 | from baseclasses.testing.assertions import assert_dict_allclose, assert_equal
|
7 | 7 | import numpy as np
|
8 | 8 | from numpy.testing import assert_allclose
|
9 |
| -from pkg_resources import parse_version |
10 | 9 |
|
11 | 10 | # First party modules
|
12 | 11 | from pyoptsparse import OPT, History
|
@@ -121,16 +120,14 @@ def assert_solution_allclose(self, sol, tol, partial_x=False):
|
121 | 120 | self.sol_index = 0
|
122 | 121 | # now we assert against the closest solution
|
123 | 122 | # objective
|
124 |
| - # sol.fStar was broken for earlier versions of SNOPT |
125 |
| - if self.optName == "SNOPT" and parse_version(self.optVersion) < parse_version("7.7.7"): |
126 |
| - sol_objectives = np.array([sol.objectives[key].value for key in sol.objectives]) |
127 |
| - else: |
128 |
| - sol_objectives = sol.fStar |
129 |
| - assert_allclose(sol_objectives, self.fStar[self.sol_index], atol=tol, rtol=tol) |
| 123 | + assert_allclose(sol.fStar, self.fStar[self.sol_index], atol=tol, rtol=tol) |
| 124 | + # make sure fStar and sol.objectives values match |
| 125 | + assert_allclose(sol.fStar, [obj.value for obj in sol.objectives.values()], rtol=1e-12) |
130 | 126 | # x
|
131 | 127 | assert_dict_allclose(sol.xStar, self.xStar[self.sol_index], atol=tol, rtol=tol, partial=partial_x)
|
132 | 128 | dv = sol.getDVs()
|
133 | 129 | assert_dict_allclose(dv, self.xStar[self.sol_index], atol=tol, rtol=tol, partial=partial_x)
|
| 130 | + assert_dict_allclose(sol.xStar, dv, rtol=1e-12) |
134 | 131 | # lambda
|
135 | 132 | if (
|
136 | 133 | hasattr(self, "lambdaStar")
|
|
0 commit comments