Example #1
0
 def test_regular(self):
     content = Mock()
     target = Target(content)
     actual = target.weight_item_scores(
         [
             {"_id": "2", "score": 14, "reasons": "reasons_value"},
             {"_id": "4", "score": 12, "reasons": "reasons_value"},
             {"_id": "6", "score": 12, "reasons": "reasons_value"},
             {"_id": "5", "score": 5, "reasons": "reasons_value"},
             {"_id": "1", "score": 4, "reasons": "reasons_value"},
             {"_id": "3", "score": 2, "reasons": "reasons_value"}
         ]
     )
     self.assertListEqual(
         [
             {
                 'index': 0, '_id': '2', 'reasons': 'reasons_value', 'score': 100.0
             },
             {
                 'reasons': 'reasons_value', '_id': '4', 'index': 1, 'score': 83.33333333333334
             },
             {
                 '_id': '6', 'index': 2, 'reasons': 'reasons_value', 'score': 83.33333333333334
             },
             {
                 'reasons': 'reasons_value', '_id': '5', 'index': 3, 'score': 25.0
             },
             {
                 'reasons': 'reasons_value', '_id': '1', 'index': 4, 'score': 16.666666666666664
             },
             {'_id': '3', 'reasons': 'reasons_value', 'index': 5, 'score': 0.0}
         ],
         actual
     )
Example #2
0
    def test_has_scores(self):
        content = Mock()
        target = Target(content)
        target.get_reason_summary = Mock()
        target.get_reason_summary.return_value = "reason_summary_value"
        target.weight_item_scores = Mock()
        target.weight_item_scores.return_value = "weighted_scores_value"
        target.score_items = Mock()
        target.score_items.return_value = ["score_1", "score_2"]
        target.sort_items = Mock()
        target.sort_items.return_value = "sort_scores_value"

        actual = target.create_suggestion_items("context")

        self.assertEqual("weighted_scores_value", actual)

        self.assertEqual(1, target.score_items.call_count)
        self.assertEqual("context", target.score_items.call_args_list[0][0][0])

        self.assertEqual(1, target.weight_item_scores.call_count)
        self.assertEqual('sort_scores_value', target.weight_item_scores.call_args_list[0][0][0])

        self.assertEqual(1, target.sort_items.call_count)
        self.assertEqual(["score_1", "score_2"], target.sort_items.call_args_list[0][0][0])
Example #3
0
 def test_empty(self):
     content = Mock()
     target = Target(content)
     actual = target.weight_item_scores([])
     self.assertListEqual([], actual)