Skip to content

Commit 3153b50

Browse files
Fix bug in reform handling (#128)
* Apply reforms before utilities * Fix reform bug
1 parent 444b585 commit 3153b50

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

changelog_entry.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- bump: minor
2+
changes:
3+
fixed:
4+
- Reforms always apply before parameter utilities.

policyengine_core/simulations/simulation.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,21 +66,29 @@ def __init__(
6666
dataset: Union[str, Type[Dataset]] = None,
6767
reform: Reform = None,
6868
):
69+
reform_applied_after = False
6970
if tax_benefit_system is None:
7071
if (
7172
self.default_tax_benefit_system_instance is not None
7273
and reform is None
7374
):
7475
tax_benefit_system = self.default_tax_benefit_system_instance
7576
else:
76-
tax_benefit_system = self.default_tax_benefit_system(
77-
reform=reform
78-
)
77+
# If reform is taken as an arg, pass it
78+
try:
79+
tax_benefit_system = self.default_tax_benefit_system(
80+
reform=reform
81+
)
82+
except:
83+
tax_benefit_system = self.default_tax_benefit_system()
84+
reform_applied_after = True
7985
self.tax_benefit_system = tax_benefit_system
8086

8187
self.reform = reform
8288
self.tax_benefit_system = tax_benefit_system
8389

90+
if reform_applied_after and reform is not None:
91+
self.apply_reform(reform)
8492
self.branch_name = "default"
8593

8694
if dataset is None:

0 commit comments

Comments
 (0)