def test_correct_Calculator_instantiation(pit_fullsample, pit_subsample, gst_sample, cit_crosssample): syr = Policy.JSON_START_YEAR pol = Policy() assert pol.current_year == syr # specify expected number of filers and aggregate PIT liability expect_weight = 35.241e6 expect_pitax = 1812.601e9 # expect_corpweight = ??? # expect_citax = ??? # create full-sample Calculator object rec_full = Records(data=pit_fullsample) grec = GSTRecords(data=gst_sample) crec = CorpRecords(data=cit_crosssample) calc_full = Calculator(policy=pol, records=rec_full, gstrecords=grec, corprecords=crec) assert isinstance(calc_full, Calculator) assert calc_full.current_year == syr assert calc_full.records_current_year() == syr calc_full.calc_all() actual_full_weight = calc_full.total_weight() actual_full_pitax = calc_full.weighted_total('pitax') assert np.allclose([actual_full_weight], [expect_weight]) assert np.allclose([actual_full_pitax], [expect_pitax]) # TODO: test for corporate results # create sub-sample Calculator object """
def test_make_calculator(cps_subsample): syr = 2014 pol = Policy(start_year=syr, num_years=9) assert pol.current_year == syr rec = Records.cps_constructor(data=cps_subsample) calc = Calculator(policy=pol, records=rec) assert calc.current_year == syr assert calc.records_current_year() == syr # test incorrect Calculator instantiation: with pytest.raises(ValueError): Calculator(policy=None, records=rec) with pytest.raises(ValueError): Calculator(policy=pol, records=None)
def test_make_calculator(cps_subsample): syr = 2014 pol = Policy(start_year=syr, num_years=9) assert pol.current_year == syr rec = Records.cps_constructor(data=cps_subsample) consump = Consumption() consump.update_consumption({syr: {'_MPC_e20400': [0.05]}}) assert consump.current_year == Consumption.JSON_START_YEAR calc = Calculator(policy=pol, records=rec, consumption=consump, behavior=Behavior()) assert calc.current_year == syr assert calc.records_current_year() == syr # test incorrect Calculator instantiation: with pytest.raises(ValueError): Calculator(policy=None, records=rec) with pytest.raises(ValueError): Calculator(policy=pol, records=None) with pytest.raises(ValueError): Calculator(policy=pol, records=rec, behavior=list()) with pytest.raises(ValueError): Calculator(policy=pol, records=rec, consumption=list())