def test_unipolarized_yesno(self): counts = (57, 43) question_yesno = baker.make(Question, questionnaire=self.questionnaire, type=Question.POSITIVE_YES_NO) answer_counters = [ baker.make(RatingAnswerCounter, question=question_yesno, contribution=self.general_contribution, answer=1, count=counts[0]), baker.make(RatingAnswerCounter, question=question_yesno, contribution=self.general_contribution, answer=5, count=counts[1]) ] result = RatingResult(question_yesno, answer_counters) distribution = unipolarized_distribution(result) self.assertAlmostEqual(distribution[0], 0.57) self.assertEqual(distribution[1], 0) self.assertEqual(distribution[2], 0) self.assertEqual(distribution[3], 0) self.assertAlmostEqual(distribution[4], 0.43)
def test_unipolarized_unipolar(self): answer_counters = make_rating_answer_counters( self.question_likert, self.general_contribution, [5, 3, 1, 1, 0]) result = RatingResult(self.question_likert, answer_counters) distribution = unipolarized_distribution(result) self.assertAlmostEqual(distribution[0], 0.5) self.assertAlmostEqual(distribution[1], 0.3) self.assertAlmostEqual(distribution[2], 0.1) self.assertAlmostEqual(distribution[3], 0.1) self.assertAlmostEqual(distribution[4], 0.0)
def test_unipolarized_bipolar(self): answer_counters = make_rating_answer_counters( self.question_bipolar, self.general_contribution, [0, 1, 4, 8, 2, 2, 3]) result = RatingResult(self.question_bipolar, answer_counters) distribution = unipolarized_distribution(result) self.assertAlmostEqual(distribution[0], 0.4) self.assertAlmostEqual(distribution[1], 0.2) self.assertAlmostEqual(distribution[2], 0.15) self.assertAlmostEqual(distribution[3], 0.1) self.assertAlmostEqual(distribution[4], 0.15)
def test_unipolarized_yesno(self): question_yesno = baker.make(Question, questionnaire=self.questionnaire, type=Question.POSITIVE_YES_NO) answer_counters = make_rating_answer_counters( question_yesno, self.general_contribution, [57, 43]) result = RatingResult(question_yesno, answer_counters) distribution = unipolarized_distribution(result) self.assertAlmostEqual(distribution[0], 0.57) self.assertEqual(distribution[1], 0) self.assertEqual(distribution[2], 0) self.assertEqual(distribution[3], 0) self.assertAlmostEqual(distribution[4], 0.43)
def test_unipolarized_yesno(self): counts = (57, 43) question_yesno = mommy.make(Question, questionnaire=self.questionnaire, type=Question.POSITIVE_YES_NO) answer_counters = [ mommy.make(RatingAnswerCounter, question=question_yesno, contribution=self.general_contribution, answer=1, count=counts[0]), mommy.make(RatingAnswerCounter, question=question_yesno, contribution=self.general_contribution, answer=5, count=counts[1]) ] result = RatingResult(question_yesno, answer_counters) distribution = unipolarized_distribution(result) self.assertAlmostEqual(distribution[0], 0.57) self.assertEqual(distribution[1], 0) self.assertEqual(distribution[2], 0) self.assertEqual(distribution[3], 0) self.assertAlmostEqual(distribution[4], 0.43)
def test_unipolarized_bipolar(self): counts = (0, 1, 4, 8, 2, 2, 3) answer_counters = [ mommy.make(RatingAnswerCounter, question=self.question_bipolar, contribution=self.general_contribution, answer=answer, count=count) for answer, count in enumerate(counts, start=-3) ] result = RatingResult(self.question_bipolar, answer_counters) distribution = unipolarized_distribution(result) self.assertAlmostEqual(distribution[0], 0.4) self.assertAlmostEqual(distribution[1], 0.2) self.assertAlmostEqual(distribution[2], 0.15) self.assertAlmostEqual(distribution[3], 0.1) self.assertAlmostEqual(distribution[4], 0.15)
def test_unipolarized_unipolar(self): counts = (5, 3, 1, 1, 0) answer_counters = [ mommy.make(RatingAnswerCounter, question=self.question_likert, contribution=self.general_contribution, answer=answer, count=count) for answer, count in enumerate(counts, start=1) ] result = RatingResult(self.question_likert, answer_counters) distribution = unipolarized_distribution(result) self.assertAlmostEqual(distribution[0], 0.5) self.assertAlmostEqual(distribution[1], 0.3) self.assertAlmostEqual(distribution[2], 0.1) self.assertAlmostEqual(distribution[3], 0.1) self.assertAlmostEqual(distribution[4], 0.0)
def test_unipolarized_bipolar(self): counts = (0, 1, 4, 8, 2, 2, 3) answer_counters = [ baker.make(RatingAnswerCounter, question=self.question_bipolar, contribution=self.general_contribution, answer=answer, count=count) for answer, count in enumerate(counts, start=-3) ] result = RatingResult(self.question_bipolar, answer_counters) distribution = unipolarized_distribution(result) self.assertAlmostEqual(distribution[0], 0.4) self.assertAlmostEqual(distribution[1], 0.2) self.assertAlmostEqual(distribution[2], 0.15) self.assertAlmostEqual(distribution[3], 0.1) self.assertAlmostEqual(distribution[4], 0.15)
def test_unipolarized_unipolar(self): counts = (5, 3, 1, 1, 0) answer_counters = [ baker.make(RatingAnswerCounter, question=self.question_likert, contribution=self.general_contribution, answer=answer, count=count) for answer, count in enumerate(counts, start=1) ] result = RatingResult(self.question_likert, answer_counters) distribution = unipolarized_distribution(result) self.assertAlmostEqual(distribution[0], 0.5) self.assertAlmostEqual(distribution[1], 0.3) self.assertAlmostEqual(distribution[2], 0.1) self.assertAlmostEqual(distribution[3], 0.1) self.assertAlmostEqual(distribution[4], 0.0)