Пример #1
0
def test_loss_vs_dep_value():
    iv = 100
    y = 5
    ia = 0
    dv, loss = calculate(iv, years=y, initial_age=ia, rate=TWO_STAGE_RATE)
    for i in range(y):
        assert loss[i] == approx(TWO_STAGE_RATE(i) * dv[i])
Пример #2
0
def test_depreciated_value_result_sizes():
    iv = 100  # initial value
    y = 5  # num years
    ia = 0  # initial age
    dv, loss = calculate(iv, years=y, initial_age=ia, rate=FLAT_RATE_15)
    assert len(dv) == y
    assert len(loss) == y
Пример #3
0
def test_depreciated_value():
    iv = 100
    y = 5
    ia = 0
    dv, _ = calculate(iv, years=y, initial_age=ia, rate=FLAT_RATE_15)
    r = 1 - FLAT_RATE_15(0)
    assert dv[0] == approx(iv)
    assert dv[1] == approx(dv[0] * r)
    assert dv[2] == approx(dv[1] * r)
    assert dv[3] == approx(dv[2] * r)
    assert dv[4] == approx(dv[3] * r)
Пример #4
0
def test_depreciation_on_10K_over_5_years_at_11percent():
    actual, _ = calculate(10000, years=5, initial_age=0, rate=FlatRate(0.11))
    expected = [10000.000, 8900.000, 7921.000, 7049.690, 6274.224]
    assert_allclose(actual, expected, atol=0.001)
Пример #5
0
def test_cumulative_loss():
    iv = 15000
    y = 10
    ia = 0
    dv, loss = calculate(iv, years=y, initial_age=ia, rate=TWO_STAGE_RATE)
    assert dv[0] - dv[-1] == approx(loss[0:-1].sum())
Пример #6
0
def test_depreciated_value_second_year():
    iv = 1000
    y = 5
    ia = 0  # initial age
    dv, _ = calculate(iv, years=y, initial_age=ia, rate=FLAT_RATE_15)
    assert dv[1] == approx(iv * (1 - FLAT_RATE_15(0)))
Пример #7
0
def test_depreciated_value_first_year():
    iv = 100
    y = 5
    ia = 0  # initial age
    dv, _ = calculate(iv, years=y, initial_age=ia, rate=FLAT_RATE_15)
    assert dv[0] == approx(iv)