示例#1
0
    def test_similar_items(self):
        calculate_similar_items(RatedItem.objects.all(), 10)
        top_for_food_a = self.food_a.ratings.similar_items()[0]

        self.assertEqual(top_for_food_a.similar_object, self.food_b)

        top_for_food_b = self.food_b.ratings.similar_items()[0]
        self.assertEqual(top_for_food_b.similar_object, self.food_a)

        self.assertEqual(top_for_food_a.score, top_for_food_b.score)

        Food.ratings.update_similar_items()

        other_for_food_a = self.food_a.ratings.similar_items()[0]
        self.assertEqual(top_for_food_a, other_for_food_a)
示例#2
0
 def test_similar_items(self):
     calculate_similar_items(RatedItem.objects.all(), 10)
     top_for_food_a = self.food_a.ratings.similar_items()[0]
     
     self.assertEqual(top_for_food_a.similar_object, self.food_b)
     
     top_for_food_b = self.food_b.ratings.similar_items()[0]
     self.assertEqual(top_for_food_b.similar_object, self.food_a)
     
     self.assertEqual(top_for_food_a.score, top_for_food_b.score)
     
     Food.ratings.update_similar_items()
     
     other_for_food_a = self.food_a.ratings.similar_items()[0]
     self.assertEqual(top_for_food_a, other_for_food_a)
示例#3
0
    def test_recommended_items(self):
        calculate_similar_items(RatedItem.objects.all())
        # failure
        result = recommended_items(RatedItem.objects.all(), self.user_g)
        r1, r2, r3 = result
        self.assertEqual(str(r1[0])[:5], '3.610')
        self.assertEqual(r1[1], self.food_a)

        self.assertEqual(str(r2[0])[:5], '3.531')
        self.assertEqual(r2[1], self.food_f)

        self.assertEqual(str(r3[0])[:5], '2.960')
        self.assertEqual(r3[1], self.food_c)

        result = recommended_items(RatedItem.objects.all(), self.user_c)
        r1, r2 = result

        self.assertEqual(str(r1[0])[:5], '2.287')
        self.assertEqual(r1[1], self.food_c)

        self.assertEqual(str(r2[0])[:5], '2.084')
        self.assertEqual(r2[1], self.food_e)
示例#4
0
 def test_recommended_items(self):
     calculate_similar_items(RatedItem.objects.all())
     # failure
     result = recommended_items(RatedItem.objects.all(), self.user_g)
     r1, r2, r3 = result
     self.assertEqual(str(r1[0])[:5], '3.610')
     self.assertEqual(r1[1], self.food_a)
     
     self.assertEqual(str(r2[0])[:5], '3.531')
     self.assertEqual(r2[1], self.food_f)
     
     self.assertEqual(str(r3[0])[:5], '2.960')
     self.assertEqual(r3[1], self.food_c)
 
     result = recommended_items(RatedItem.objects.all(), self.user_c)
     r1, r2 = result
     
     self.assertEqual(str(r1[0])[:5], '2.287')
     self.assertEqual(r1[1], self.food_c)
     
     self.assertEqual(str(r2[0])[:5], '2.084')
     self.assertEqual(r2[1], self.food_e)
 def update_similar_items(self):
     from ratings.utils import calculate_similar_items
     calculate_similar_items(self.all())
示例#6
0
 def update_similar_items(self):
     from ratings.utils import calculate_similar_items
     calculate_similar_items(self.all())
示例#7
0
 def test_similar_item_model_unicode(self):
     self.food_b.name = u'яблоко'
     self.food_b.save()
     calculate_similar_items(RatedItem.objects.all(), 10)
     top_for_food_a = self.food_a.ratings.similar_items()[0]
     top_for_food_a_unicode_string = unicode(top_for_food_a)
示例#8
0
 def test_similar_item_model_unicode(self):
     self.food_b.name = u'яблоко'
     self.food_b.save()
     calculate_similar_items(RatedItem.objects.all(), 10)
     top_for_food_a = self.food_a.ratings.similar_items()[0]
     top_for_food_a_unicode_string = unicode(top_for_food_a)