import static org.junit.jupiter.api.Assertions.*;

import java.util.ArrayList;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;


class UserGroupTest {
	@Test
	@DisplayName("Test the methods in the UserGroup")
	void testGetUser() {
		UserGroup users = new UserGroup();
				
	    String[] people = {"Kevin Rowe", "Jack Daniels", "Barry Smith", "Hugh Davies", "Pete Jackson", "Jerry Simpson", "Teresa Szelankovic", "Brian Degrasse Tyson", "Mike Hardcastle", "Danny Hanson"};
	    for (int i=0; i<10; i++) {
	      users.getUsers().add(new User(Integer.toString(i), "user", people[i]));
	    }
		
	    User firstUser = users.getUser(0);
	    users.removeFirstUser();
	    assertFalse(users.getUsers().contains(firstUser), "Testing that the first user was removed");
	    
	    User lastUser = users.getUser(9);
	    users.removeLastUser();
	    assertFalse(users.getUsers().contains(lastUser), "Testing that the last user was removed");
	    
	    User newFirstUser = users.getUser(0);
	    String newFirstUserName = users.getUser(0).getName();
	    users.removeUser(newFirstUserName);
	    
	    assertFalse(users.getUsers().contains(newFirstUser), "Testing that the new first user was removed");
		
	}

}