def test_update_info_bad_email(self): args = { "email": "changedmail.com", } try: User.update_user(self.user_id[0], **args) self.fail("Expect InvalidFieldError") except InvalidFieldError: pass
def test_update_info_bad_name_last_name(self): args = { "first_name": "Hello", "last_name" : "" } try: User.update_user(self.user_id[0], **args) self.fail("Expect InvalidFieldError") except InvalidFieldError: pass
def test_update_info_password_not_matched(self): args = { "password": "******", "confirm_password":"******" } try: User.update_user(self.user_id[0], **args) self.fail("Expect InvalidFieldError") except InvalidFieldError: pass
def test_update_no_info(self): args = { "email": "*****@*****.**", "password": "******", "confirm_password": "******", "first_name": "Editor2", "last_name": "Nguyen", "brief": "Hello world" } User.update_user(self.user_id[1]) user = DBUser.get_by_id(self.user_id[1]) self.assertEqual(user.id, self.user_id[1]) self.assertEqual(user.email, args["email"]) self.assertEqual(user.password, hashlib.md5(args["password"]).hexdigest()) self.assertEqual(user.first_name, args["first_name"]) self.assertEqual(user.last_name, args["last_name"]) self.assertEqual(user.brief, args["brief"])
def test_update_user_all_valid_field(self): args = { "email": "*****@*****.**", "password": "******", "confirm_password": "******", "first_name": "Dzung", "last_name": "Nguyen Tien", "brief": "Hello world Again" } User.update_user(self.user_id[0], **args) user = DBUser.get_by_id(self.user_id[0]) self.assertEqual(user.id, self.user_id[0]) self.assertEqual(user.email, args["email"]) self.assertEqual(user.password, hashlib.md5(args["password"]).hexdigest()) self.assertEqual(user.first_name, args["first_name"]) self.assertEqual(user.last_name, args["last_name"]) self.assertEqual(user.brief, args["brief"])
def setUpClass(cls): driver_conf = HandleDriverConf() ST.DEVICENAME = driver_conf.get_value(f'user_info_{cls.ORDER}', 'deviceName') ST.PORT = driver_conf.get_value(f'user_info_{cls.ORDER}', 'port') ST.APP_PATH = f'{root_path}/app/com.codemao.dan_2.0.1_11.apk' cls.driver = BaseDriver(ST.DEVICENAME, ST.PORT, ST.APP_PATH).driver cls.guide = Guide() cls.tab = TabBar() cls.user = User()
def test_add_user_ideal_case(self): args = { "email": "*****@*****.**", "password": "******", "confirm_password": "******", "first_name": "Dzung", "last_name": "Nguyen", "brief": "Hello world" } user = User.add(**args) self.assertIsNotNone(user.id)
def userExtract(line, userList): userId, movieId, rate = line[0:-1] userId = int(userId) movieId = int(movieId) global curUserId, user, rating, moviesRead if userId != curUserId: # step 1.赋值 user.moviesRead = moviesRead user.rateInfo = rating if rating: # 防止加入空用户 userList.append(user) # 清空dict 中的值 # step 2.重置 user = User(userId, str(userId), str(userId)) # 新建一个User curUserId = userId rating = {} moviesRead = [] # moviesRead.append(movieId) rating[int(movieId)] = float(rate) # 转换为数字
import csv import numpy as np import os import torch from torch.utils.data import DataLoader from business.user import User from business.movie import Item moviesRead = [] #已看过的电影集合 rating = {} # 初始化一个dict,存储的是 {movie:rate} curUserId = 1 user = User(1, '1', '1') # 初始化的信息,但需要注意这里的 curMovieId = 1 # 当前的movieId movie = Item(1) # 传入参数进行构造 dic = {} userList = [] """ 功能:读取csv文件 Parms:filePathName: 需要读取的文件地址(注意只有输入 "/Users/gamidev/program/MovieRecommend/resources/ml-25m/ratings.csv" 这样 的内容才算正确) cfStyle: 表明 """ def readFromCsvToUserData(filePathName, userList): # 判断文件路径是否正确 with open(filePathName ) as file: # 这句话是什么意思 => 打开filePathName所指的那个文件,然后将其存储在文件对象file中 ratingReader = csv.reader(file) next(ratingReader) # 摆脱第一行的数据 for line in ratingReader: