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()
Exemple #7
0
    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)
Exemple #8
0
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)  # 转换为数字
Exemple #9
0
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: