Coverage Summary for Class: TowerColour (it.polimi.ingsw.Model.Enums)

Class Class, % Method, % Branch, % Line, %
TowerColour 100% (1/1) 100% (5/5) 75% (3/4) 90% (9/10)


1 package it.polimi.ingsw.Model.Enums; 2  3 import java.io.Serial; 4 import java.io.Serializable; 5  6 /** 7  * Towers are bound to a colour, and each colour is bound to a team. This enum represents the colour-team link 8  */ 9 public enum TowerColour implements Serializable { 10  BLACK(TeamID.ONE), 11  WHITE(TeamID.TWO), 12  GRAY(TeamID.THREE); 13  14  @Serial 15  private static final long serialVersionUID = 132L; // convention: 1 for model, (01 -> 99) for objects 16  private final TeamID teamID; 17  18  /** 19  * Internal constructor of the enum 20  * 21  * @param teamId the team to bind the tower to 22  */ 23  TowerColour(TeamID teamId) { 24  this.teamID = teamId; 25  } 26  27  /** 28  * Get the {@link TowerColour} connected to a {@link TeamID} 29  * 30  * @param tID the {@link TeamID} enum representing a team 31  * @return the {@link TowerColour} bound to a particular {@link TeamID} 32  */ 33  public static TowerColour fromTeamId(TeamID tID) { 34  for (TowerColour e : TowerColour.values()) { 35  if (e.teamID == tID) return e; 36  } 37  throw new RuntimeException(); 38  } 39  40  /** 41  * Get the {@link TeamID} bound to a specific color of the tower 42  * 43  * @return the {@link TeamID} bound to the current {@link TowerColour} variant 44  */ 45  public TeamID getTeamID() { 46  return teamID; 47  } 48 }