Skip to content
Snippets Groups Projects
Commit 102bb75a authored by Robbie Luijben's avatar Robbie Luijben
Browse files

added non-database tests for extracted logic

parent 4f96614c
No related branches found
No related tags found
1 merge request!326bugfix, didn't consider rfi_percent = 0 a valid RFI
Pipeline #64079 failed
......@@ -3,6 +3,16 @@ from .common import get_summary_flavour, SummaryFlavour
logger = logging.getLogger(__name__)
def rfi_percentage_to_quality(rfi_percent, quality_treshold_moderate, quality_treshold_poor):
quality = None
if rfi_percent >= 0:
quality = "good"
if rfi_percent >= quality_treshold_moderate:
quality = "moderate"
if rfi_percent > quality_treshold_poor:
quality = "poor"
return quality
def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds):
""""
calculate the quality for this task, but also the quality for all the combined tasks of this sas_id
......@@ -41,16 +51,6 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds):
# Just continue without it
pass
def rfi_percentage_to_quality(rfi_percent, quality_treshold_moderate, quality_treshold_poor):
quality = None
if rfi_percent >= 0:
quality = "good"
if rfi_percent >= quality_treshold_moderate:
quality = "moderate"
if rfi_percent > quality_treshold_poor:
quality = "poor"
return quality
def calculate_quality_sasid(unsaved_task, tasks_for_this_sasid):
"""
calculate the overall quality per sas_id, based on other tasks with the same sas_id
......@@ -123,3 +123,4 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds):
logger.error(error)
return qualities
import unittest
from taskdatabase.services import calculated_qualities as qualities
class TestCalculatedQualities(unittest.TestCase):
moderate_treshold = 20
poor_treshold = 50
def test_rfi_percentage_to_quality_None(self):
quality = qualities.rfi_percentage_to_quality(-10, TestCalculatedQualities.moderate_treshold, TestCalculatedQualities.poor_treshold)
self.assertIsNone(quality)
def test_rfi_percentage_to_quality_Zero(self):
quality = qualities.rfi_percentage_to_quality(0, TestCalculatedQualities.moderate_treshold,
TestCalculatedQualities.poor_treshold)
self.assertIsNotNone(quality)
def test_rfi_percentage_to_quality_Poor(self):
quality = qualities.rfi_percentage_to_quality(60, TestCalculatedQualities.moderate_treshold, TestCalculatedQualities.poor_treshold)
self.assertEqual(quality, "poor")
def test_rfi_percentage_to_quality_Moderate(self):
quality = qualities.rfi_percentage_to_quality(25, TestCalculatedQualities.moderate_treshold, TestCalculatedQualities.poor_treshold)
self.assertEqual(quality, "moderate")
def test_rfi_percentage_to_quality_Good(self):
quality = qualities.rfi_percentage_to_quality(19, TestCalculatedQualities.moderate_treshold, TestCalculatedQualities.poor_treshold)
self.assertEqual(quality, "good")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment