File tree Expand file tree Collapse file tree 2 files changed +26
-0
lines changed
Expand file tree Collapse file tree 2 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -61,3 +61,15 @@ def mock_dataset():
6161 mock_instance .file_path = SAMPLE_DATASET_FILENAME
6262 mock_dataset_class .from_file .return_value = mock_instance
6363 yield mock_instance
64+
65+
66+ @pytest .fixture
67+ def mock_simulation_with_cliff_vars ():
68+
69+ mock_sim = Mock ()
70+ mock_sim .calculate .side_effect = lambda var : {
71+ "cliff_gap" : Mock (sum = Mock (return_value = 100.0 )),
72+ "is_on_cliff" : Mock (sum = Mock (return_value = 40.0 )),
73+ "is_adult" : Mock (sum = Mock (return_value = 80.0 )),
74+ }[var ]
75+ return mock_sim
Original file line number Diff line number Diff line change 55 mock_get_default_dataset ,
66 mock_dataset ,
77 SAMPLE_DATASET_FILENAME ,
8+ mock_simulation_with_cliff_vars ,
89)
910import sys
1011from copy import deepcopy
1112
1213from policyengine import Simulation
14+ from policyengine .outputs .macro .single .calculate_single_economy import GeneralEconomyTask
1315
1416
1517class TestSimulation :
@@ -70,3 +72,15 @@ def test__given_dataset_without_time_period__does_not_set_time_period(
7072 sim ._set_data_time_period (uk_sim_options_pe_dataset .data )
7173 == None
7274 )
75+
76+
77+ class TestCalculateCliffs :
78+ def test__calculates_correct_cliff_metrics (self , mock_simulation_with_cliff_vars ):
79+
80+ task = object .__new__ (GeneralEconomyTask )
81+ task .simulation = mock_simulation_with_cliff_vars
82+
83+ cliff_result = task .calculate_cliffs ()
84+
85+ assert cliff_result .cliff_gap == 100.0
86+ assert cliff_result .cliff_share == 0.5
You can’t perform that action at this time.
0 commit comments