package org.jtalks.poulpe.model.entity; import org.jtalks.common.model.entity.User; import org.testng.annotations.Test; import java.util.ArrayList; import java.util.List; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; public class PoulpeGroupTest { @Test public void testSetUsers() { PoulpeGroup poulpeGroup = new PoulpeGroup(); poulpeGroup.setUsers(new ArrayList<User>(createPoulpeUsers())); isUsersInGroup(poulpeGroup); } @Test public void testAddUsers(){ PoulpeGroup poulpeGroup = new PoulpeGroup(); poulpeGroup.addUsers(new ArrayList<User>(createPoulpeUsers())); isUsersInGroup(poulpeGroup); } @Test public void testRemoveUsers(){ PoulpeGroup poulpeGroup = new PoulpeGroup(); List<PoulpeUser> users = createPoulpeUsers(); poulpeGroup.setUsers(new ArrayList<User>(users)); List<PoulpeUser> removeUsers = new ArrayList<PoulpeUser>(); final int REMOVE_COUNT = 3; for(int i=0; i<REMOVE_COUNT; i++){ removeUsers.add(users.get(i)); } poulpeGroup.removeUsers(new ArrayList<User>(removeUsers)); for(PoulpeUser u: removeUsers){ assertFalse(poulpeGroup.getUsers().contains(u)); assertFalse(u.getGroups().contains(poulpeGroup)); } } private void isUsersInGroup(PoulpeGroup poulpeGroup){ List<User> users = poulpeGroup.getUsers(); for (User u : users) { assertTrue(((PoulpeUser) u).getGroups().contains(poulpeGroup)); } } private List<PoulpeUser> createPoulpeUsers() { final int USER_COUNT = 10; List<PoulpeUser> poulpeUsers = new ArrayList<PoulpeUser>(); for (int i = 0; i < USER_COUNT; i++) { poulpeUsers.add(new PoulpeUser()); } return poulpeUsers; } }