25 lines
No EOL
1.1 KiB
Python
25 lines
No EOL
1.1 KiB
Python
import numpy as np
|
|
import numpy.testing as npt
|
|
import pytest
|
|
|
|
from caimira import models
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"inside_temp, humidity, expected_halflife, expected_decay_constant",
|
|
[
|
|
[293.15, 0.5, 0.5947447349860315, 1.1654532436949188],
|
|
[272.15, 0.7, 1.6070844193207476, 0.4313072619127947],
|
|
[300.15, 1., 0.17367078830147223, 3.9911558376571805],
|
|
[300.15, 0., 6.43, 0.10779893943389507],
|
|
[np.array([272.15, 300.15]), np.array([0.7, 0.]),
|
|
np.array([1.60708442, 6.43]), np.array([0.43130726, 0.10779894])],
|
|
[np.array([293.15, 300.15]), np.array([0.5, 1.]),
|
|
np.array([0.59474473, 0.17367079]), np.array([1.16545324, 3.99115584])]
|
|
],
|
|
)
|
|
def test_decay_constant(inside_temp, humidity, expected_halflife, expected_decay_constant):
|
|
npt.assert_almost_equal(models.Virus.types['SARS_CoV_2'].halflife(humidity, inside_temp),
|
|
expected_halflife)
|
|
npt.assert_almost_equal(models.Virus.types['SARS_CoV_2'].decay_constant(humidity, inside_temp),
|
|
expected_decay_constant) |