package de.flower.rmt.model.db.entity;
import de.flower.rmt.test.TestData;
import org.testng.annotations.Test;
import java.util.List;
import static org.testng.Assert.*;
/**
* @author flowerrrr
*/
public class EventTeamTest {
@Test
public void testAddPlayerReorders() {
EventTeam eventTeam = new EventTeam(new TestData().newEvent());
EventTeamPlayer p1 = new EventTeamPlayer(eventTeam, null);
eventTeam.addPlayer(p1, null);
assertOrder(p1, 0);
EventTeamPlayer p2 = new EventTeamPlayer(eventTeam, null);
eventTeam.addPlayer(p2, null);
assertOrder(p2, 1);
EventTeamPlayer p3 = new EventTeamPlayer(eventTeam, null);
eventTeam.addPlayer(p3, p1);
assertOrder(p3, 0);
assertOrder(p1, 1);
assertOrder(p2, 2);
assertOrdered(eventTeam.getPlayers());
// add player before itself
eventTeam.addPlayer(p3, p3);
}
private void assertOrdered(final List<EventTeamPlayer> players) {
int order = 0;
for (EventTeamPlayer player : players) {
assertOrder(player, order);
order++;
}
}
private void assertOrder(final EventTeamPlayer player, Integer expectedOrder) {
assertEquals(player.getOrder(), expectedOrder);
}
}