62
66
self.assertEquals(instance.rating2.score, 0)
63
67
self.assertEquals(instance.rating2.votes, 0)
65
70
class RecommendationsTestCase(unittest.TestCase):
67
73
self.instance = RatingTestModel.objects.create()
68
74
self.instance2 = RatingTestModel.objects.create()
69
75
self.instance3 = RatingTestModel.objects.create()
70
76
self.instance4 = RatingTestModel.objects.create()
71
77
self.instance5 = RatingTestModel.objects.create()
74
self.user = User.objects.create(username=str(random.randint(0, 100000000)))
75
self.user2 = User.objects.create(username=str(random.randint(0, 100000000)))
80
self.user = User.objects.create(
81
username=str(random.randint(0, 100000000)))
82
self.user2 = User.objects.create(
83
username=str(random.randint(0, 100000000)))
77
85
def testExclusions(self):
78
86
Vote.objects.all().delete()
80
self.instance.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
81
self.instance2.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
82
self.instance3.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
83
self.instance4.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
84
self.instance5.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
85
self.instance.rating.add(score=1, user=self.user2, ip_address='127.0.0.2')
88
self.instance.rating.add(
89
score=1, user=self.user, ip_address='127.0.0.1')
90
self.instance2.rating.add(
91
score=1, user=self.user, ip_address='127.0.0.1')
92
self.instance3.rating.add(
93
score=1, user=self.user, ip_address='127.0.0.1')
94
self.instance4.rating.add(
95
score=1, user=self.user, ip_address='127.0.0.1')
96
self.instance5.rating.add(
97
score=1, user=self.user, ip_address='127.0.0.1')
98
self.instance.rating.add(
99
score=1, user=self.user2, ip_address='127.0.0.2')
87
101
# we should only need to call this once
88
102
SimilarUser.objects.update_recommendations()
90
104
self.assertEquals(SimilarUser.objects.count(), 2)
92
recs = list(SimilarUser.objects.get_recommendations(self.user2, RatingTestModel))
106
recs = list(SimilarUser.objects.get_recommendations(
107
self.user2, RatingTestModel))
93
108
self.assertEquals(len(recs), 4)
95
110
ct = ContentType.objects.get_for_model(RatingTestModel)
97
IgnoredObject.objects.create(user=self.user2, content_type=ct, object_id=self.instance2.pk)
99
recs = list(SimilarUser.objects.get_recommendations(self.user2, RatingTestModel))
112
IgnoredObject.objects.create(
113
user=self.user2, content_type=ct, object_id=self.instance2.pk)
115
recs = list(SimilarUser.objects.get_recommendations(
116
self.user2, RatingTestModel))
100
117
self.assertEquals(len(recs), 3)
102
IgnoredObject.objects.create(user=self.user2, content_type=ct, object_id=self.instance3.pk)
103
IgnoredObject.objects.create(user=self.user2, content_type=ct, object_id=self.instance4.pk)
119
IgnoredObject.objects.create(
120
user=self.user2, content_type=ct, object_id=self.instance3.pk)
121
IgnoredObject.objects.create(
122
user=self.user2, content_type=ct, object_id=self.instance4.pk)
105
recs = list(SimilarUser.objects.get_recommendations(self.user2, RatingTestModel))
124
recs = list(SimilarUser.objects.get_recommendations(
125
self.user2, RatingTestModel))
106
126
self.assertEquals(len(recs), 1)
107
127
self.assertEquals(recs, [self.instance5])
109
self.instance5.rating.add(score=1, user=self.user2, ip_address='127.0.0.2')
110
recs = list(SimilarUser.objects.get_recommendations(self.user2, RatingTestModel))
129
self.instance5.rating.add(
130
score=1, user=self.user2, ip_address='127.0.0.2')
131
recs = list(SimilarUser.objects.get_recommendations(
132
self.user2, RatingTestModel))
111
133
self.assertEquals(len(recs), 0)
113
135
def testSimilarUsers(self):
114
136
Vote.objects.all().delete()
116
self.instance.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
117
self.instance2.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
118
self.instance3.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
119
self.instance4.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
120
self.instance5.rating.add(score=1, user=self.user, ip_address='127.0.0.1')
121
self.instance.rating.add(score=1, user=self.user2, ip_address='127.0.0.2')
122
self.instance2.rating.add(score=1, user=self.user2, ip_address='127.0.0.2')
123
self.instance3.rating.add(score=1, user=self.user2, ip_address='127.0.0.2')
138
self.instance.rating.add(
139
score=1, user=self.user, ip_address='127.0.0.1')
140
self.instance2.rating.add(
141
score=1, user=self.user, ip_address='127.0.0.1')
142
self.instance3.rating.add(
143
score=1, user=self.user, ip_address='127.0.0.1')
144
self.instance4.rating.add(
145
score=1, user=self.user, ip_address='127.0.0.1')
146
self.instance5.rating.add(
147
score=1, user=self.user, ip_address='127.0.0.1')
148
self.instance.rating.add(
149
score=1, user=self.user2, ip_address='127.0.0.2')
150
self.instance2.rating.add(
151
score=1, user=self.user2, ip_address='127.0.0.2')
152
self.instance3.rating.add(
153
score=1, user=self.user2, ip_address='127.0.0.2')
125
155
SimilarUser.objects.update_recommendations()
127
157
self.assertEquals(SimilarUser.objects.count(), 2)
129
recs = list(SimilarUser.objects.get_recommendations(self.user2, RatingTestModel))
159
recs = list(SimilarUser.objects.get_recommendations(
160
self.user2, RatingTestModel))
130
161
self.assertEquals(len(recs), 2)
132
self.instance4.rating.add(score=1, user=self.user2, ip_address='127.0.0.2')
163
self.instance4.rating.add(
164
score=1, user=self.user2, ip_address='127.0.0.2')
134
166
SimilarUser.objects.update_recommendations()
136
168
self.assertEquals(SimilarUser.objects.count(), 2)
138
recs = list(SimilarUser.objects.get_recommendations(self.user2, RatingTestModel))
170
recs = list(SimilarUser.objects.get_recommendations(
171
self.user2, RatingTestModel))
139
172
self.assertEquals(len(recs), 1)
140
173
self.assertEquals(recs, [self.instance5])
142
self.instance5.rating.add(score=1, user=self.user2, ip_address='127.0.0.2')
175
self.instance5.rating.add(
176
score=1, user=self.user2, ip_address='127.0.0.2')
144
178
SimilarUser.objects.update_recommendations()
146
180
self.assertEquals(SimilarUser.objects.count(), 2)
148
recs = list(SimilarUser.objects.get_recommendations(self.user2, RatingTestModel))
149
self.assertEquals(len(recs), 0)
b'\\ No newline at end of file'
182
recs = list(SimilarUser.objects.get_recommendations(
183
self.user2, RatingTestModel))
184
self.assertEquals(len(recs), 0)