Adding test for InfectedPopulation class (Vectorisation)

This commit is contained in:
Nicolas Mounet 2021-04-28 11:50:08 +02:00
parent 2a43eea709
commit b5d6ce974f

View file

@ -0,0 +1,49 @@
import numpy as np
import pytest
import cara.models
@pytest.mark.parametrize(
"override_params", [
{'viral_load_in_sputum': np.array([5e8, 1e9])},
{'coefficient_of_infectivity': np.array([0.02, 0.05])},
{'η_exhale': np.array([0.92, 0.95])},
{'η_leaks': np.array([0.15, 0.20])},
]
)
def test_infected_population_vectorisation(override_params):
defaults = {
'virus_halflife': 1.1,
'viral_load_in_sputum': 1e9,
'coefficient_of_infectivity': 0.02,
'η_exhale': 0.95,
'η_leaks': 0.15,
}
defaults.update(override_params)
office_hours = cara.models.SpecificInterval(present_times=[(8,17)])
infected = cara.models.InfectedPopulation(
number=1,
presence=office_hours,
mask=cara.models.Mask(
η_exhale=defaults['η_exhale'],
η_leaks=defaults['η_leaks'],
η_inhale=0.3,
),
activity=cara.models.Activity(
0.51,
0.75,
),
virus=cara.models.Virus(
halflife=defaults['virus_halflife'],
viral_load_in_sputum=defaults['viral_load_in_sputum'],
coefficient_of_infectivity=defaults['coefficient_of_infectivity'],
),
expiration=cara.models.Expiration(
ejection_factor=(0.084, 0.009, 0.003, 0.002),
),
)
emission_rate = infected.emission_rate(10)
assert isinstance(emission_rate, np.ndarray)
assert emission_rate.shape == (2, )