def test_build_recommender(self): fi = open('simple_filter_test').readlines() item_sim_mat,user_dict,item_pos,user_pos,item_dict = rec.build_recommender(rec.parse_array(fi),1) test_arr = [] item_sim_mat = item_sim_mat.toarray() print 'item sim mat' print item_sim_mat for item1 in self.jac_matrix: temp = [] for item2 in self.jac_matrix: temp.append(rec.jaccard_distance(item1,item2)) test_arr.append(temp) for ent in self.used_coords: self.assertEqual(test_arr[ent[0]][ent[1]],item_sim_mat[ent[0]][ent[1]]) for i in range(len(item_sim_mat)): for j in range(len(item_sim_mat)): if (i,j) in self.used_coords: self.assertEqual(test_arr[i][j],item_sim_mat[i][j]) else: # print '(%d,%d)' %(i,j) self.assertEqual(item_sim_mat[i][j],0) print item_pos print user_dict print user_pos print item_dict
def test_parse_array(self): fi = open('simple_filter_test') ret_dict = rec.parse_array(fi.readlines()) print ret_dict # print sorted(ret_dict.keys()) for k in sorted(ret_dict.keys()): self.assertEqual(self.true_parsed_customers[k].sort(),ret_dict[k].sort()) for k in sorted(self.true_parsed_customers.keys()): self.assertEqual(self.true_parsed_customers[k].sort(),ret_dict[k].sort())