From 860d68583d26788b70eaa942993d4b39fd0c1511 Mon Sep 17 00:00:00 2001 From: Nicolas Mounet Date: Fri, 6 Nov 2020 13:18:01 +0100 Subject: [PATCH] Adding tests for mechanical ventilation in test_model_generator --- .../apps/calculator/test_model_generator.py | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/cara/tests/apps/calculator/test_model_generator.py b/cara/tests/apps/calculator/test_model_generator.py index 06a0dde2..cd74b0ac 100644 --- a/cara/tests/apps/calculator/test_model_generator.py +++ b/cara/tests/apps/calculator/test_model_generator.py @@ -20,7 +20,7 @@ def test_model_from_dict(baseline_form_data): # assert model.ventilation == cara.models.Ventilation() -def test_ventilation(baseline_form): +def test_ventilation_window(baseline_form): room = models.Room(75) window = models.WindowOpening( active=models.PeriodicInterval(period=120, duration=10), @@ -40,6 +40,36 @@ def test_ventilation(baseline_form): [baseline_form.ventilation().air_exchange(room, t) for t in ts]) +def test_ventilation_mechanical(baseline_form): + room = models.Room(75) + mech = models.HVACMechanical( + active=models.PeriodicInterval(period=120, duration=120), + q_air_mech=500., + ) + baseline_form.ventilation_type = 'mechanical' + baseline_form.mechanical_ventilation_type = 'mechanical' + baseline_form.air_supply = 500. + + ts = np.linspace(8, 16, 100) + np.testing.assert_allclose([mech.air_exchange(room, t) for t in ts], + [baseline_form.ventilation().air_exchange(room, t) for t in ts]) + + +def test_ventilation_airchanges(baseline_form): + room = models.Room(75) + airchange = models.AirChange( + active=models.PeriodicInterval(period=120, duration=120), + air_exch=3., + ) + baseline_form.ventilation_type = 'mechanical' + baseline_form.mechanical_ventilation_type = 'air_changes' + baseline_form.air_changes = 3. + + ts = np.linspace(8, 16, 100) + np.testing.assert_allclose([airchange.air_exchange(room, t) for t in ts], + [baseline_form.ventilation().air_exchange(room, t) for t in ts]) + + def test_present_intervals(baseline_form): baseline_form.coffee_duration = 15 baseline_form.coffee_option = True