Skip to content

Commit 192862c

Browse files
committed
chore(questionnaire): add function to generate score breakdown
1 parent ce51004 commit 192862c

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

cssi/questionnaire.py

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,20 @@ class SSQ(CSSIContributor):
3030

3131
def generate_final_score(self, pre, post):
3232
"""Generates the final questionnaire score.
33+
3334
Args:
3435
pre (dict): Pre questionnaire results.
3536
post (dict): Post questionnaire results.
37+
3638
Returns:
3739
float: The total questionnaire score.
40+
3841
Examples:
3942
>>> cssi.questionnaire.generate_final_score(pre, post)
4043
"""
4144
# Calculate the pre and post questionnaire scores.
42-
pre_n, pre_o, pre_d, pre_ts = self._calculate_pre_score(pre=pre)
43-
post_n, post_o, post_d, post_ts = self._calculate_post_score(post=post)
45+
_, _, _, pre_ts = self._calculate_pre_score(pre=pre)
46+
_, _, _, post_ts = self._calculate_post_score(post=post)
4447

4548
# Calculating the total questionnaire score.
4649
tq = ((post_ts - pre_ts) / self.QUESTIONNAIRE_MAX_TOTAL_SCORE) * 100
@@ -51,13 +54,33 @@ def generate_final_score(self, pre, post):
5154

5255
return tq
5356

57+
def generate_score_breakdown(self, pre, post):
58+
"""Returns a breakdown of the questionnaire results.
59+
60+
Args:
61+
pre (dict): Pre questionnaire results.
62+
post (dict): Post questionnaire results.
63+
64+
Returns:
65+
tuple: Breakdown of pre and post questionnaire is the form of:
66+
[pre_n, pre_o, pre_d, pre_ts], [post_n, post_o, post_d, post_ts]
67+
68+
Examples:
69+
>>> cssi.questionnaire.generate_final_score(pre, post)
70+
"""
71+
72+
return self._calculate_pre_score(pre=pre), self._calculate_post_score(post=post)
73+
5474
def _calculate_pre_score(self, pre):
75+
"""Calculates the SSQ score for the pre exposure questionnaire"""
5576
return self._calculate_ssq_total_score(questionnaire=pre, filename=self.PRE_QUESTIONNAIRE_META_FILE_NAME)
5677

5778
def _calculate_post_score(self, post):
79+
"""Calculates the SSQ score for the post exposure questionnaire"""
5880
return self._calculate_ssq_total_score(questionnaire=post, filename=self.POST_QUESTIONNAIRE_META_FILE_NAME)
5981

6082
def _calculate_ssq_total_score(self, questionnaire, filename):
83+
"""Calculates the SSQ score for a particular questionnaire"""
6184
_n = 0.0
6285
_o = 0.0
6386
_d = 0.0

0 commit comments

Comments
 (0)