-
Notifications
You must be signed in to change notification settings - Fork 0
/
TestNetflix.py
150 lines (123 loc) · 4.35 KB
/
TestNetflix.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
from io import StringIO
from unittest import main, TestCase
from Netflix import rmse, netflix_read, netflix_moviecache, netflix_usercache, netflix_solve, avgmovie_dict, avguser_dict, predict_dict
import warnings
warnings.filterwarnings('ignore', category=DeprecationWarning)
warnings.filterwarnings('ignore', category=ResourceWarning)
# -----------
# TestNetflix
# -----------
class TestNetflix (TestCase) :
# ----
# rmse
# ----
def test_rmse1 (self) :
a = [1, 2, 3]
p = [2, 3, 4]
rmse1 = rmse (a, p)
self.assertEqual (rmse1, 1)
def test_rmse2 (self) :
a = [10, 15, 20]
p = [15, 20, 25]
rmse2 = rmse (a, p)
self.assertEqual (rmse2, 5)
def test_rmse3 (self) :
a = [10, 10, 10]
p = [10, 10, 10]
rmse3 = rmse (a, p)
self.assertEqual (rmse3, 0)
def test_rmse4 (self) :
a = [11, 11, 11]
p = [10, 10, 10]
rmse4 = rmse (a, p)
self.assertEqual (rmse4, 1)
def test_rmse5 (self) :
a = [23, 39, 69]
p = [12, 14, 16]
rmse5 = rmse (a, p)
self.assertEqual (rmse5, 34.42382895611701)
# ----
# netflix_read
# ----
def test_read1 (self) :
r = StringIO ("10:\n1\n2\n3\n4")
read1 = netflix_read (r)
self.assertDictEqual (read1, {10: ['1', '2', '3', '4']})
def test_read2 (self) :
r = StringIO ("70:\n9999\n999999\n9999999999")
read2 = netflix_read (r)
self.assertEqual (read2, {10: ['1', '2', '3', '4'], 70: ['9999', '999999', '9999999999']})
def test_read3 (self) :
r = StringIO ("1:\n2\n3:\n4\n5:\n6")
read3 = netflix_read (r)
self.assertEqual (read3, {10: ['1', '2', '3', '4'], 70: ['9999', '999999', '9999999999'], 1: ['2'], 3: ['4'], 5: ['6']})
# ----
# netflix_moviecache
# ----
def test_movie1 (self) :
f = open('test', 'w')
f.write(str({1: 2}))
f.close()
movie1 = netflix_moviecache ('test')
self.assertDictEqual (movie1, {1: 2})
def test_movie2 (self) :
f = open('test', 'w')
f.write(str({10: 20}))
f.close()
movie2 = netflix_moviecache ('test')
self.assertDictEqual (movie2, {1:2, 10: 20})
def test_movie3 (self) :
f = open('test', 'w')
f.write(str({1: 3.5, 2: 4.5}))
f.close()
movie3 = netflix_moviecache ('test')
self.assertDictEqual (movie3, {1:2, 10: 20, 1: 3.5, 2: 4.5})
def test_movie4 (self) :
f = open('test', 'w')
f.write(str({3: 4, 6: 8}))
f.close()
movie3 = netflix_moviecache ('test')
self.assertDictEqual (movie3, {1:2, 10: 20, 1: 3.5, 2: 4.5, 3: 4, 6: 8})
def test_movie5 (self) :
f1 = open('test1','w')
f1.write(str({77: 2}))
f1.close()
movie4 = netflix_moviecache ('test1')
self.assertDictEqual(movie4, {1:2, 10: 20, 1: 3.5, 2: 4.5, 3: 4, 6: 8, 77: 2})
def test_movie6 (self) :
netflix_moviecache('/u/prat0318/netflix-tests/savant-cacheMovies.txt')
self.assert_(len(avgmovie_dict) == 17770)
# # ----
# # netflix_usercache
# # ----
def test_user1 (self) :
j = open ('user', 'w')
j.write(str({100: 200}))
j.close()
user1 = netflix_usercache ('user')
# j.close()
self.assertDictEqual (user1, {100: 200})
def test_user2 (self) :
with open ('user', 'w') as j:
j.write(str({2.3: 2.33, 3.3: 3.44}))
user2 = netflix_usercache ('user')
# j.close()
self.assertDictEqual (user2, {100: 200.0, 2: 2.33, 3: 3.44})
def test_user3 (self) :
j = open ('user', 'w')
j.write(str({7: 2, 8.99: 4, 5.75 :3.21}))
j.close()
user3 = netflix_usercache ('user')
# j.close()
self.assertDictEqual (user3, {100: 200.0, 2: 2.33, 3: 3.44, 7: 2.0, 8: 4.0, 5: 3.21})
def test_user4 (self) :
j = open ('user', 'w')
j.write(str({7: 2, 8.99: 4, 5.75 :3.21}))
j.close()
user4 = netflix_usercache ('user')
# j.close()
self.assertDictEqual (user4, {100: 200.0, 2: 2.33, 3: 3.44, 7: 2.0, 8: 4.0, 5: 3.21})
# def test_user5 (self) :
# netflix_usercache('/u/prat0318/netflix-tests/savant-cacheUsers.txt')
# self.assert_(len(avguser_dict) == 480195)
main()