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 ...@@ -3,6 +3,16 @@ from .common import get_summary_flavour, SummaryFlavour
logger = logging.getLogger(__name__) 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): 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 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): ...@@ -41,16 +51,6 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds):
# Just continue without it # Just continue without it
pass 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): 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 calculate the overall quality per sas_id, based on other tasks with the same sas_id
...@@ -122,4 +122,5 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds): ...@@ -122,4 +122,5 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds):
except Exception as error: except Exception as error:
logger.error(error) logger.error(error)
return qualities return qualities
\ No newline at end of file
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.
Finish editing this message first!
Please register or to comment