From 331b8e733f6e8a4dd257765f6854681e461cabd8 Mon Sep 17 00:00:00 2001 From: Phil Elson Date: Thu, 5 Nov 2020 23:14:22 +0100 Subject: [PATCH] Fix to use the updated PiecewiseConstant scheme for temperatures, and turn on testing, even if trivial, for the report generation. --- cara/apps/calculator/model_generator.py | 5 ++++- .../apps/calculator/test_report_generator.py | 21 +++++++++++++++++++ setup.py | 5 +++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 cara/tests/apps/calculator/test_report_generator.py diff --git a/cara/apps/calculator/model_generator.py b/cara/apps/calculator/model_generator.py index 9ae8cb97..5a26afd0 100644 --- a/cara/apps/calculator/model_generator.py +++ b/cara/apps/calculator/model_generator.py @@ -157,7 +157,10 @@ def model_from_form(form: FormData, tmp_raw_form_data) -> models.Model: period, duration = 15, 120 # I multiply the opening width by the number of windows to simulate the correct window area ventilation = models.WindowOpening(active=models.PeriodicInterval(period=period, duration=duration), - inside_temp=293, outside_temp=283, cd_b=0.6, + inside_temp=models.PiecewiseConstant((0, 24), (293, )), + # TODO: This should be based on the month etc. + outside_temp=models.PiecewiseConstant((0, 24), (283, )), + cd_b=0.6, window_height=float(d['window_height']), opening_length=float(d['opening_distance']) * int(d['windows_number'])) else: diff --git a/cara/tests/apps/calculator/test_report_generator.py b/cara/tests/apps/calculator/test_report_generator.py new file mode 100644 index 00000000..f8cedafb --- /dev/null +++ b/cara/tests/apps/calculator/test_report_generator.py @@ -0,0 +1,21 @@ +import pytest + +from cara.apps.calculator import model_generator +from cara.apps.calculator import report_generator + + +@pytest.fixture +def baseline_form_data(): + return model_generator.baseline_raw_form_data() + + +@pytest.fixture +def baseline_form(baseline_form_data): + return model_generator.FormData.from_dict(baseline_form_data) + + +def test_generate_report(baseline_form, baseline_form_data): + model = baseline_form.build_model(baseline_form_data) + + report = report_generator.build_report(model, baseline_form) + assert report != "" diff --git a/setup.py b/setup.py index 77ea1551..7aa8d6e3 100644 --- a/setup.py +++ b/setup.py @@ -64,4 +64,9 @@ setup( # The 'all' extra is the union of all requirements. 'all': [req for reqs in REQUIREMENTS.values() for req in reqs], }, + package_data={'cara': [ + 'apps/calculator/*', + 'apps/calculator/*/*', + 'apps/calculator/*/*/*' + ]}, )