Пример #1
0
import os, math, pickle
from lifelib.projects.simplelife import simplelife

filepath = os.path.join(os.path.dirname(__file__), 'data_simplelife')


def round_signif(x, digit):
    if x == 0:
        return 0
    else:
        base = int(math.log10(abs(x)))
        return round(x, digit - base - 1)


def generate_data(model):
    data = []
    proj = model.Projection
    for i in range(10, 301, 10):
        data.append(round_signif(proj(i).pv_NetLiabilityCashflow(0), 10))

    with open(filepath, 'wb') as file:
        pickle.dump(data, file, protocol=4)


if __name__ == '__main__':
    generate_data(simplelife.build())
Пример #2
0
import os.path
import pickle
import pathlib

from lifelib.projects.simplelife import simplelife
from tests.data.generate_testdata import round_signif

model = simplelife.build(load_saved=False)

testdata = \
    str(pathlib.Path(__file__).parents[1].joinpath('data/data_simplelife'))


def test_simpleflie():
    data = []
    proj = model.Projection
    for i in range(10, 301, 10):
        data.append(round_signif(proj(i).pv_NetLiabilityCashflow(0), 10))

    with open(testdata, 'rb') as file:
        data_saved = pickle.load(file)

    assert data == data_saved


Пример #3
0
from lifelib.projects.simplelife import simplelife

model = simplelife.build()


def run_simplelife():
    proj = model.Projection
    for i in range(10, 301, 10):
        print(i, proj(i).pv_NetLiabilityCashflow(0))


if __name__ == '__main__':
    import timeit
    print(timeit.timeit('run_simplelife()', number=1, globals=globals()))