| | """Unit tests for the minimum_period_between_exacerbations function.""" |
| |
|
| | import copd |
| | import pandas as pd |
| | import pytest |
| |
|
| |
|
| | @pytest.mark.parametrize("input_values,expected_output", |
| | [(pd.DataFrame({'DaysSinceLastExac': [-1]}), 0), |
| | (pd.DataFrame({'DaysSinceLastExac': [7]}), 1), |
| | (pd.DataFrame({'DaysSinceLastExac': [14]}), 1), |
| | (pd.DataFrame({'DaysSinceLastExac': [20]}), 0)]) |
| | def test_threshold_equals_default(input_values, expected_output): |
| | """Test output for a variety of input values. |
| | |
| | Test cases cover: |
| | 1. No previous exacerbation |
| | 2. Very recent exac |
| | 3. Exac on the threshold value (should count as too recent) |
| | 4. Previous non-recent exac |
| | for the default threshold of 14 days |
| | """ |
| | assert copd.minimum_period_between_exacerbations(input_values) == expected_output |
| |
|
| |
|
| | @pytest.mark.parametrize("input_values,expected_output", |
| | [(pd.DataFrame({'DaysSinceLastExac': [-1]}), 0), |
| | (pd.DataFrame({'DaysSinceLastExac': [6]}), 1), |
| | (pd.DataFrame({'DaysSinceLastExac': [7]}), 1), |
| | (pd.DataFrame({'DaysSinceLastExac': [14]}), 0)]) |
| | def test_threshold_equals_seven(input_values, expected_output): |
| | """Test output for a variety of input values. |
| | |
| | Test cases cover: |
| | 1. No previous exacerbation |
| | 2. Very recent exac |
| | 3. Exac on the threshold value (should count as too recent) |
| | 4. Previous non-recent exac |
| | for a threshold of 7 days. |
| | """ |
| | assert copd.minimum_period_between_exacerbations( |
| | input_values, minimum_days=7) == expected_output |
| |
|