⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userservicetest.java

📁 实现留言薄和发表文章的功能
💻 JAVA
字号:
package com.test.bbs.service;

import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import junit.framework.TestCase;

import com.test.bbs.dao.UserDao;
import com.test.bbs.domain.User;
import com.test.bbs.exception.ServiceException;
import com.test.bbs.service.impl.UserServiceImpl;

public class UserServiceTest extends TestCase {
	UserService userService = new UserServiceImpl(new UserDaoMock());

	@Override
	protected void setUp() throws Exception {
		User user = new User();
		user.setLogonName("logonName1");
		user.setNickName("nickName1");
		user.setPassword("password1");
		user.setRegistDate(new Date());
		userService.regist(user);

		user = new User();
		user.setLogonName("logonName2");
		user.setNickName("nickName2");
		user.setPassword("password2");
		user.setRegistDate(new Date());
		userService.regist(user);

	}

	@Override
	protected void tearDown() throws Exception {
		// TODO Auto-generated method stub
		super.tearDown();
	}

	public void testLogin() {
		User user = this.userService.login("logonName1", "password1");
		assertNotNull(user);

		try {
			user = this.userService.login("logonName1", "password2");
			fail("error");
		} catch (ServiceException e) {
			// ok
		}
	}

	public void testRegist() {
		User user = new User();
		user.setLogonName("logonName3");
		user.setNickName("nickName3");
		user.setPassword("password3");
		user.setRegistDate(new Date());
		userService.regist(user);

		assertTrue(user.getId() > 0);

		user = new User();
		user.setLogonName("logonName3");
		user.setNickName("nickName3");
		user.setPassword("password3");
		user.setRegistDate(new Date());
		try {
			userService.regist(user);
			fail("error");
		} catch (ServiceException e) {
			// ok
		}
	}

	public void testGetUser() {
		User user = this.userService.getUser(1);
		assertNotNull(user);

		user = this.userService.getUser(100);
		assertNull(user);
	}

	public void testUpdate() {
		User user = this.userService.getUser(1);
		user.setNickName("new nickName");
		this.userService.update(user, user);

		user = this.userService.getUser(1);
		assertEquals("new nickName", user.getNickName());
	}

}

class UserDaoMock implements UserDao {
	private Map datas = new HashMap();

	private int id = 0;

	public void addUser(User user) {
		user.setId(++id);
		datas.put(user.getId(), user);
	}

	public User findUserById(Integer id) {
		return (User) datas.get(id);
	}

	public User findUserByLogonName(String logonName) {
		for (Iterator iter = datas.keySet().iterator(); iter.hasNext();) {
			Integer id = (Integer) iter.next();
			User u = (User) datas.get(id);
			if (logonName.equals(u.getLogonName()))
				return u;
		}
		return null;
	}

	public User findUserByLogonNameAndPassword(String logonName, String password) {
		for (Iterator iter = datas.keySet().iterator(); iter.hasNext();) {
			Integer id = (Integer) iter.next();
			User u = (User) datas.get(id);
			if (logonName.equals(u.getLogonName())
					&& password.equals(u.getPassword()))
				return u;
		}
		return null;
	}

	public void update(User user) {
		datas.put(user.getId(), user);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -