def create_plan(tier, separate=False):
    plan = HealthPlan()
    plan.tier = tier
    if separate:
        plan.medical_deductible = 500
    else:
        plan.deductible = 500
    return plan
def create_plan(tier, separate=False):
    plan = HealthPlan()
    plan.tier = tier
    if separate:
        plan.medical_deductible = 500
    else:
        plan.deductible = 500
    return plan
def test__determine_moop_integrated():
    test_plan = HealthPlan()
    test_plan.deductible = 1000
    test_plan.coinsurance = .9
    test_plan.moop = 2000
    test_plan.tier = Tier.platinum

    calc._set_metal_tier(test_plan)
    calc._determine_moop(test_plan, test_plan.deductible)
    assert_almost_equal(
        calc._moop_cost_level, 11372.76, 0,
        ("Integrated plan moop not correct, actual {0}, "
         "expected {1}".format(calc._moop_cost_level, 11372.76)))
def test__determine_moop_integrated():
    test_plan = HealthPlan()
    test_plan.deductible = 1000
    test_plan.coinsurance = 0.9
    test_plan.moop = 2000
    test_plan.tier = Tier.platinum

    calc._set_metal_tier(test_plan)
    calc._determine_moop(test_plan, test_plan.deductible)
    assert_almost_equal(
        calc._moop_cost_level,
        11372.76,
        0,
        ("Integrated plan moop not correct, actual {0}, " "expected {1}".format(calc._moop_cost_level, 11372.76)),
    )