Skip to content

Commit f856487

Browse files
Generate well drilling cost correlation tooltip text from enum instead of hardcoding
1 parent 0c48842 commit f856487

File tree

3 files changed

+44
-17
lines changed

3 files changed

+44
-17
lines changed

src/geophires_x/Economics.py

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -994,23 +994,7 @@ def __init__(self, model: Model):
994994
UnitType=Units.NONE,
995995
ErrMessage="assume default well drilling cost correlation (10)",
996996
ToolTipText="Select the built-in well drilling and completion cost correlation: " +
997-
"1. vertical small diameter, baseline; " +
998-
"2. deviated small diameter, baseline; " +
999-
"3. vertical large diameter, baseline; " +
1000-
"4. deviated large diameter, baseline; " +
1001-
"5. Simple; " +
1002-
"6. vertical small diameter, intermediate1; " +
1003-
"7. vertical small diameter, intermediate2; " +
1004-
"8. deviated small diameter, intermediate1; " +
1005-
"9. deviated small diameter, intermediate2; " +
1006-
"10. vertical large diameter, intermediate1; " +
1007-
"11. vertical large diameter, intermediate2; " +
1008-
"12. deviated large diameter, intermediate1; " +
1009-
"13. deviated large diameter, intermediate2; " +
1010-
"14. vertical open-hole, small diameter, ideal; " +
1011-
"15. deviated liner, small diameter, ideal; " +
1012-
"16. vertical open-hole, large diameter, ideal; " +
1013-
"17. deviated liner, large diameter, ideal"
997+
'; '.join([f'{it._numerical_input_value}: {it.value}' for it in WellDrillingCostCorrelation])
1014998
)
1015999

10161000
self.DoAddOnCalculations = self.ParameterDict[self.DoAddOnCalculations.Name] = boolParameter(

src/geophires_x/OptionList.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ def __new__(cls, *args, **kwds):
105105
return obj
106106

107107
def __init__(self, numerical_input_value: int, _: str, c2: float, c1: float, c0: float):
108+
self._numerical_input_value = numerical_input_value
108109
self._c2 = c2
109110
self._c1 = c1
110111
self._c0 = c0

tests/geophires_x_tests/test_economics.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1+
import os
2+
import sys
3+
from pathlib import Path
4+
15
from geophires_x.Economics import CalculateFinancialPerformance
6+
from geophires_x.Model import Model
27
from tests.base_test_case import BaseTestCase
38

49

@@ -27,3 +32,40 @@ def calc_irr(total_revenue):
2732
self.assertAlmostEqual(-8.33, calc_irr([-100, 100, 0, -7]), places=2)
2833
self.assertAlmostEqual(6.21, calc_irr([-100, 100, 0, 7]), places=2)
2934
self.assertAlmostEqual(8.86, calc_irr([-5, 10.5, 1, -8, 1]), places=2)
35+
36+
def test_well_drilling_cost_correlation_tooltiptext(self):
37+
ec = self._new_model().economics
38+
self.assertEqual(
39+
ec.wellcorrelation.ToolTipText,
40+
'Select the built-in well drilling and completion cost correlation: '
41+
+ '1: vertical small diameter, baseline; '
42+
+ '2: deviated small diameter, baseline; '
43+
+ '3: vertical large diameter, baseline; '
44+
+ '4: deviated large diameter, baseline; '
45+
+ '5: Simple; '
46+
+ '6: vertical small diameter, intermediate1; '
47+
+ '7: vertical small diameter, intermediate2; '
48+
+ '8: deviated small diameter, intermediate1; '
49+
+ '9: deviated small diameter, intermediate2; '
50+
+ '10: vertical large diameter, intermediate1; '
51+
+ '11: vertical large diameter, intermediate2; '
52+
+ '12: deviated large diameter, intermediate1; '
53+
+ '13: deviated large diameter, intermediate2; '
54+
+ '14: vertical open-hole, small diameter, ideal; '
55+
+ '15: deviated liner, small diameter, ideal; '
56+
+ '16: vertical open-hole, large diameter, ideal; '
57+
+ '17: deviated liner, large diameter, ideal',
58+
)
59+
60+
def _new_model(self) -> Model:
61+
stash_cwd = Path.cwd()
62+
stash_sys_argv = sys.argv
63+
64+
sys.argv = ['']
65+
66+
m = Model(enable_geophires_logging_config=False)
67+
68+
sys.argv = stash_sys_argv
69+
os.chdir(stash_cwd)
70+
71+
return m

0 commit comments

Comments
 (0)