package com.tencent.service; import static org.junit.Assert.assertEquals; import java.util.Iterator; import java.util.List; import javax.annotation.Resource; import org.apache.log4j.Logger; import org.hibernate.Hibernate; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import com.tencent.model.Activity; import com.tencent.model.Team; import com.tencent.model.User; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({ "/applicationContext.xml" }) @TransactionConfiguration(transactionManager = "hibernateTransactionManager", defaultRollback = true) public class ActivityServiceImplTest { public static Logger log = Logger.getLogger(ActivityServiceImplTest.class); private User user = new User("username", "password", "M", "test@qq.com", "935789181", "13871398643", "CS", "大二", 0, "description", 1, 1); private Team team = new Team("team", 1, "description", null, 1); private Activity activity = new Activity("activity", "location", "description", 1, 1); private IUserService userService; private ITeamService teamService; private IActivityService activityService; @Resource(name="userService") public void setUserService(IUserService userService) { this.userService = userService; } @Resource(name="teamService") public void setTeamService(ITeamService teamService) { this.teamService = teamService; } @Resource(name="activityService") public void setActivityService(IActivityService activityService) { this.activityService = activityService; } @Before public void setUp() throws Exception { userService.save(user); User t_user = userService.findByName("username"); team.setMaster(t_user); activity.setCreator(t_user); } @After public void tearDown() throws Exception { Activity t_activity = activityService.findByName("activity"); if(t_activity != null){ activityService.delete(t_activity); } Team t_team = teamService.findByName("team"); if(t_team != null){ teamService.delete(t_team); } User t_user = userService.findByName("username"); if(t_user != null){ userService.delete(t_user); } } @Test public final void testFindByName() { int id = activityService.save(activity); Activity t_activity = activityService.findByName("activity"); assertEquals(id, t_activity.getId()); } @Test public final void testFindByLocation() { int id = activityService.save(activity); List<Activity> list = activityService.findByLocation("location"); assertEquals(1, list.size()); assertEquals(id, list.get(0).getId()); } @Test public final void testJoinActivity() { int id = teamService.save(team); Team t_team = teamService.getById(Team.class, id); id = activityService.save(activity); Activity t_activity = activityService.getById(Activity.class, id); Hibernate.initialize(t_activity.getTeams()); activityService.joinActivity(t_team, t_activity); Iterator<Team> iTeam = t_activity.getTeams().iterator(); if(iTeam.hasNext()){ assertEquals("team", iTeam.next().getName()); } Iterator<Activity> iActivity = t_team.getActivities().iterator(); if(iActivity.hasNext()){ assertEquals("activity",iActivity.next().getName()); } } }