package nl.joshuaslik.tudelft.UFMGame.backend; import static org.junit.Assert.*; import java.util.ArrayList; import nl.joshuaslik.tudelft.UFMGame.backend.Competition; import nl.joshuaslik.tudelft.UFMGame.backend.Game; import nl.joshuaslik.tudelft.UFMGame.backend.Human; import nl.joshuaslik.tudelft.UFMGame.backend.PC; import nl.joshuaslik.tudelft.UFMGame.backend.Team; import nl.joshuaslik.tudelft.UFMGame.backend.User; import org.junit.Test; /** * Test to check the Game class * @author Naomi */ public class GameTest { /** * Testing the constructor of the game class */ @Test public void testConstructor() { ArrayList<User> users = new ArrayList<User>(); Game game1 = new Game(users); assertEquals(game1, game1); } /** * Testing the constructor of the game class */ @Test public void testConstructor2() { ArrayList<User> users = new ArrayList<User>(); Game game1 = new Game(users); assertEquals(game1.getUsers(), users); } /** * Test to check if you can get the competition */ @Test public void testgetCompetition() { ArrayList<User> users = new ArrayList<User>(); Game game1 = new Game(users); assertEquals(game1.getCompetition(), new Competition(game1)); } /** * Test to check if you can get users */ @Test public void testgetUser() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); Human human1 = new Human(team1, "Bryan", 5000); Game game1 = new Game(users); game1.addUser(human1); game1.addUser(human1); assertEquals(game1.getUser(), human1); } /** * Test to check if you can get users */ @Test public void testgetUser2() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); PC pc2 = new PC(team1, "test2", 50000); Game game1 = new Game(users); game1.addUser(pc1); game1.addUser(pc2); assertEquals(game1.getUser(), null); } /** * Test to check if you can get users */ @Test public void testgetUser3() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); PC pc2 = new PC(team1, "test2", 50000); Game game1 = new Game(users); game1.addUser(pc1); game1.addUser(pc2); assertEquals(game1.getUser("test1"), pc1); } /** * Test to check if you can get users */ @Test public void testgetUser4() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); PC pc2 = new PC(team1, "test2", 50000); Game game1 = new Game(users); game1.addUser(pc1); game1.addUser(pc2); assertEquals(game1.getUser("test3"), null); } /** * Test to check if you can get users */ @Test public void testgetUser5() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); PC pc2 = new PC(team1, "test2", 50000); Game game1 = new Game(users); game1.addUser(pc1); game1.addUser(pc2); assertEquals(game1.getUser(team1), pc1); } /** * Test to check if you can get users */ @Test public void testgetUser6() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); Team team2 = new Team("ado", "ado", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); PC pc2 = new PC(team1, "test2", 50000); Game game1 = new Game(users); game1.addUser(pc1); game1.addUser(pc2); assertEquals(game1.getUser(team2), null); } /** * Test to check if you can get the soccer teams */ @Test public void testgetTeams() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); Game game1 = new Game(users); ArrayList<Team> teams = new ArrayList<Team>(); teams.add(team1); game1.addUser(pc1); assertEquals(game1.getTeams(), teams); } /** * Test to check if you can get the soccer teams */ @Test public void testgetTeam() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); Game game1 = new Game(users); ArrayList<Team> teams = new ArrayList<Team>(); teams.add(team1); game1.addUser(pc1); assertEquals(game1.getTeam("ajax"), team1); } /** * Test to check if you can get the soccer teams */ @Test public void testgetTeam2() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); Game game1 = new Game(users); ArrayList<Team> teams = new ArrayList<Team>(); teams.add(team1); game1.addUser(pc1); assertEquals(game1.getTeam("ado"), null); } /** * Test to check if you can get the players */ @Test public void testgetPlayer() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); Game game1 = new Game(users); ArrayList<Team> teams = new ArrayList<Team>(); teams.add(team1); game1.addUser(pc1); assertEquals(game1.getPlayer(""), null); } /** * Test to check if you can get the players by name */ @Test public void testgetPlayerbyName() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); Game game1 = new Game(users); ArrayList<Team> teams = new ArrayList<Team>(); teams.add(team1); game1.addUser(pc1); assertEquals(game1.getPlayerByName(""), null); } /** * Test to check if you can get the players by name */ @Test public void testgetPlayerbyName2() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); PC pc1 = new PC(team1, "test1", 5000); Game game1 = new Game(users); ArrayList<Team> teams = new ArrayList<Team>(); teams.add(team1); game1.addUser(pc1); assertFalse(game1.getPlayerByName("Aaron Meijers").equals(null)); } /** * Test to check if the standings can be computed */ @Test public void testComputeStandings() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); Team team2 = new Team("ado", "ado", "Frank de Boer"); Team team3 = new Team("az", "az", "piet"); Team team4 = new Team("psv", "psv", "jan"); users.add(new Human(team1, "Bryan", 5000)); users.add(new PC(team2, "pc1", 5000)); users.add(new PC(team3, "pc2", 500)); users.add(new PC(team4, "pc3", 5000)); Game game1 = new Game(users); assertFalse(game1.computeStandings().equals(null)); } /** * Test to check if you can get the playrounds */ @Test public void testGetPlayround() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); Team team2 = new Team("ado", "ado", "Frank de Boer"); Team team3 = new Team("az", "az", "piet"); Team team4 = new Team("psv", "psv", "jan"); users.add(new Human(team1, "Bryan", 5000)); users.add(new PC(team2, "pc1", 5000)); users.add(new PC(team3, "pc2", 500)); users.add(new PC(team4, "pc3", 5000)); Game game1 = new Game(users); game1.getCompetition().definePlayrounds(); assertFalse(game1.getPlayround(1).equals(null)); } /** * Test to check if you can get the playrounds */ @Test public void testGetPlayrounds() { ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); Team team2 = new Team("ado", "ado", "Frank de Boer"); Team team3 = new Team("az", "az", "piet"); Team team4 = new Team("psv", "psv", "jan"); users.add(new Human(team1, "Bryan", 5000)); users.add(new PC(team2, "pc1", 5000)); users.add(new PC(team3, "pc2", 500)); users.add(new PC(team4, "pc3", 5000)); Game game1 = new Game(users); game1.getCompetition().definePlayrounds(); assertEquals(game1.getPlayrounds().size(), 6); } /** * test to buy a player */ @Test public void testbuyPlayer(){ ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); Team team2 = new Team("ado", "ado", "Frank de Boer"); Team team3 = new Team("az", "az", "piet"); Team team4 = new Team("psv", "psv", "jan"); users.add(new Human(team1, "Bryan", 500000000)); users.add(new PC(team2, "pc1", 5000)); users.add(new PC(team3, "pc2", 500)); users.add(new PC(team4, "pc3", 5000)); Game game1 = new Game(users); game1.buyPlayer("jaspercillessen", game1.getUser()); assertTrue(game1.getUser().getTeam().getBenchPlayers().contains(game1.getPlayer("jaspercillessen"))); } /** * test to buy a non contracted player */ @Test public void testbuyNonContractedPlayer(){ ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); Team team2 = new Team("ado", "ado", "Frank de Boer"); Team team3 = new Team("az", "az", "piet"); Team team4 = new Team("psv", "psv", "jan"); users.add(new Human(team1, "Bryan", 500000000)); users.add(new PC(team2, "pc1", 5000)); users.add(new PC(team3, "pc2", 500)); users.add(new PC(team4, "pc3", 5000)); Game game1 = new Game(users); game1.getUser("Bryan").getTeam().addBenchPlayer(game1.getPlayer("jaspercillessen")); game1.getUser("Bryan").getTeam().addBenchPlayer(game1.getPlayer("aaronmeijers")); game1.setNonContracted("jaspercillessen"); game1.buyNonContractedPlayer("jaspercillessen", game1.getUser()); assertTrue(game1.getUser().getTeam().getBenchPlayers().contains(game1.getPlayer("jaspercillessen"))); } /** * test to sell a player */ @Test public void testSellPlayer(){ ArrayList<User> users = new ArrayList<User>(); Team team1 = new Team("ajax", "ajax", "Frank de Boer"); Team team2 = new Team("ado", "ado", "Frank de Boer"); Team team3 = new Team("az", "az", "piet"); Team team4 = new Team("psv", "psv", "jan"); users.add(new Human(team1, "Bryan", 500000000)); users.add(new PC(team2, "pc1", 5000)); users.add(new PC(team3, "pc2", 500)); users.add(new PC(team4, "pc3", 5000)); Game game1 = new Game(users); game1.getUser("Bryan").getTeam().addBenchPlayer(game1.getPlayer("jaspercillessen")); game1.getUser("Bryan").getTeam().addBenchPlayer(game1.getPlayer("aaronmeijers")); game1.sellPlayer("jaspercillessen", game1.getUser()); assertFalse(game1.getUser().getTeam().getBenchPlayers().contains(game1.getPlayer("jaspercillessen"))); } /** * test to change the formation of all the other teams as the human player */ @Test public void testChangeFormationRound(){ Game game1 = Save.newGame(Save.loadTeam().get("ajax"), "Bryan"); game1.changeFormationRound(); game1.getUser("pc1").getTeam(); assertEquals(game1.getUser("Bryan").getTeam().getActivePlayers().size(), 11); } }