def test__determine_moop_separate():
    test_plan = HealthPlan()
    test_plan.medical_deductible = 500
    test_plan.medical_coinsurance = .8
    test_plan.drug_deductible = 500
    test_plan.drug_coinsurance = .8
    test_plan.moop = 2000

    calc._set_metal_tier(test_plan)
    calc._determine_moop(test_plan, test_plan.medical_deductible,
                         test_plan.drug_deductible)
    assert_almost_equal(
        calc._moop_cost_level, 6186.38, 0,
        "Seperate plan moop not correct, actual {0}, expected "
        "{1}".format(calc._moop_cost_level, 6186.38))
def test__determine_moop_separate():
    test_plan = HealthPlan()
    test_plan.medical_deductible = 500
    test_plan.medical_coinsurance = 0.8
    test_plan.drug_deductible = 500
    test_plan.drug_coinsurance = 0.8
    test_plan.moop = 2000

    calc._set_metal_tier(test_plan)
    calc._determine_moop(test_plan, test_plan.medical_deductible, test_plan.drug_deductible)
    assert_almost_equal(
        calc._moop_cost_level,
        6186.38,
        0,
        "Seperate plan moop not correct, actual {0}, expected " "{1}".format(calc._moop_cost_level, 6186.38),
    )
def test__determine_moop_floor():
    test_plan = HealthPlan()
    test_plan.medical_deductible = 500
    test_plan.medical_coinsurance = .8
    test_plan.drug_deductible = 500
    test_plan.drug_coinsurance = .8
    test_plan.moop = 2000
    calc._set_metal_tier(test_plan)
    calc._ActuarialValueCalculator__moop_floor = 9000

    calc._determine_moop(test_plan, test_plan.medical_deductible,
                         test_plan.drug_deductible)
    assert_almost_equal(
        calc._moop_cost_level, 9000, 0,
        "Integrated plan moop not correct, actual {0}, "
        "expected {1}".format(calc._moop_cost_level, 9000))
def test__determine_moop_floor():
    test_plan = HealthPlan()
    test_plan.medical_deductible = 500
    test_plan.medical_coinsurance = 0.8
    test_plan.drug_deductible = 500
    test_plan.drug_coinsurance = 0.8
    test_plan.moop = 2000
    calc._set_metal_tier(test_plan)
    calc._ActuarialValueCalculator__moop_floor = 9000

    calc._determine_moop(test_plan, test_plan.medical_deductible, test_plan.drug_deductible)
    assert_almost_equal(
        calc._moop_cost_level,
        9000,
        0,
        "Integrated plan moop not correct, actual {0}, " "expected {1}".format(calc._moop_cost_level, 9000),
    )