Added four tests for update_std_dev()
This commit is contained in:
@@ -1,3 +1,54 @@
|
||||
from django.test import TestCase
|
||||
|
||||
from .views import update_std_dev
|
||||
import math
|
||||
# Create your tests here.
|
||||
|
||||
class UpdateStdDevTest(TestCase):
|
||||
|
||||
def test_two_data_points(self):
|
||||
"""
|
||||
tests if update_std_dev behaves correctly for two data points
|
||||
"""
|
||||
cur_mean = 5
|
||||
cur_std_dev = 0
|
||||
|
||||
new_mean, new_std_dev = update_std_dev(cur_mean, cur_std_dev, 10, 2)
|
||||
|
||||
self.assertTrue(math.isclose(new_mean, 7.5, rel_tol=0.01))
|
||||
self.assertTrue(math.isclose(new_std_dev, 3.5355, rel_tol=0.01))
|
||||
|
||||
def test_three_data_points(self):
|
||||
"""
|
||||
tests if update_std_dev behaves correctly for three data points
|
||||
"""
|
||||
cur_mean = 7.5
|
||||
cur_std_dev = 3.5355
|
||||
|
||||
new_mean, new_std_dev = update_std_dev(cur_mean, cur_std_dev, 15, 3)
|
||||
|
||||
self.assertTrue(math.isclose(new_mean, 10, rel_tol=0.01))
|
||||
self.assertTrue(math.isclose(new_std_dev, 5, rel_tol=0.01))
|
||||
|
||||
def test_four_data_points(self):
|
||||
"""
|
||||
tests if update_std_dev behaves correctly for four data points
|
||||
"""
|
||||
cur_mean = 10
|
||||
cur_std_dev = 5
|
||||
|
||||
new_mean, new_std_dev = update_std_dev(cur_mean, cur_std_dev, 20, 4)
|
||||
self.assertTrue(math.isclose(new_mean, 12.5, rel_tol=0.01))
|
||||
self.assertTrue(math.isclose(new_std_dev, 6.455, rel_tol=0.01))
|
||||
|
||||
|
||||
|
||||
def test_five_data_points(self):
|
||||
"""
|
||||
tests if update_std_dev behaves correctly for five data points
|
||||
"""
|
||||
cur_mean = 12.5
|
||||
cur_std_dev = 6.455
|
||||
|
||||
new_mean, new_std_dev = update_std_dev(cur_mean, cur_std_dev, 63, 5)
|
||||
self.assertTrue(math.isclose(new_mean, 22.6, rel_tol=0.01))
|
||||
self.assertTrue(math.isclose(new_std_dev, 23.2658, rel_tol=0.01))
|
||||
Reference in New Issue
Block a user