Example #1
0
    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)
Example #2
0
    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)
Example #3
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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
    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)
Example #8
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)
Example #9
0
    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)