Example #1
0
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
    """
Example #2
0
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())