Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion inflammation-analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def main(args):
for filename in InFiles:
inflammation_data = models.load_csv(filename)

view_data = {'average': models.daily_mean(inflammation_data), 'max': models.daily_max(inflammation_data), 'min': models.daily_min(inflammation_data)}
view_data = {'average': models.daily_mean(inflammation_data), 'max': models.daily_max(inflammation_data), 'min': models.daily_min(inflammation_data), 'daily deviation': models.s_dev(inflammation_data)}

views.visualize(view_data)

Expand Down
4 changes: 4 additions & 0 deletions inflammation/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,7 @@ def daily_min(data):
"""Calculate the daily min of a 2d inflammation data array."""
return np.min(data, axis=0)


def daily_standard_deviation(data):
"""Computes and returns standard deviation for data."""
return np.std(data)
2 changes: 1 addition & 1 deletion inflammation/views.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Module containing code for plotting inflammation data."""

from matplotlib import pyplot as plt
import numpy as np
# import numpy as np


def visualize(data_dict):
Expand Down
14 changes: 14 additions & 0 deletions tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import numpy as np
import numpy.testing as npt
import pytest


def test_daily_mean_zeros():
Expand Down Expand Up @@ -29,3 +30,16 @@ def test_daily_mean_integers():
# Need to use Numpy testing functions to compare arrays
npt.assert_array_equal(daily_mean(test_input), test_result)


@pytest.mark.parametrize('data, expected_standard_deviation', [
([0, 0, 0], 0.0),
([1.0, 1.0, 1.0], 0),
([0.0, 2.0], 1.0),
([-1,0,1],0),
(np.array(1,2,3),2)
])
def test_daily_standard_deviation(data, expected_standard_deviation):
"""Test standard deviation function works for an array of integers."""
from inflammation.models import daily_standard_deviation
result_data = daily_standard_deviation(data)['standard deviation']
npt.assert_approx_equal(result_data, expected_standard_deviation)