diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb..53011553f 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,6 @@ +- bump: patch + changes: + fixed: + - Projector.transform now raises NotImplementedError + added: + - regression test ensuring base Projector.transform raises diff --git a/policyengine_core/projectors/projector.py b/policyengine_core/projectors/projector.py index 7ac30bb6b..b92da7cc1 100644 --- a/policyengine_core/projectors/projector.py +++ b/policyengine_core/projectors/projector.py @@ -41,4 +41,4 @@ def transform_and_bubble_up(self, result): return self.parent.transform_and_bubble_up(transformed_result) def transform(self, result: ArrayLike): - return NotImplementedError() + raise NotImplementedError() diff --git a/tests/core/test_projectors.py b/tests/core/test_projectors.py index a2e3444af..9b9c8adb5 100644 --- a/tests/core/test_projectors.py +++ b/tests/core/test_projectors.py @@ -1,11 +1,21 @@ import numpy as np +import pytest from policyengine_core.entities import build_entity from policyengine_core.model_api import ETERNITY, Enum, Variable from policyengine_core.simulations.simulation_builder import SimulationBuilder + from policyengine_core.taxbenefitsystems import TaxBenefitSystem +def test_base_projector_transform_raises(): + from policyengine_core.projectors.projector import Projector + + projector = Projector() + with pytest.raises(NotImplementedError): + projector.transform([]) + + def test_shortcut_to_containing_entity_provided(): """ Tests that, when an entity provides a containing entity,