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

Class Class, % Method, % Branch, % Line, %
Card09 100% (1/1) 100% (3/3) 100% (2/2) 100% (5/5)


1 package it.polimi.ingsw.Model; 2  3  4 import it.polimi.ingsw.Exceptions.Input.InputValidationException; 5 import it.polimi.ingsw.Exceptions.Input.InvalidElementException; 6 import it.polimi.ingsw.Misc.OptionalValue; 7  8 import java.io.Serial; 9  10 /** 11  * EFFECT: Choose a color of Student: during the influence calculation this turn, that color adds no influence 12  */ 13 public class Card09 extends StatelessEffect { 14  @Serial 15  private static final long serialVersionUID = 111L; // convention: 1 for model, (01 -> 99) for objects 16  17  public Card09(Model ctx) { 18  super(9, 3, ctx); 19  } 20  21  /** 22  * Refer to: {@link CharacterCard#overridableCheckInput(CharacterCardInput)} for further information 23  * 24  * @param input CharacterCardInput should contain: 25  * <ul> 26  * <li>A valid PawnColour</li>> 27  * </ul> 28  */ 29  public OptionalValue<InputValidationException> overridableCheckInput(CharacterCardInput input) { 30  if (input.getTargetPawn().isEmpty()) { 31  return OptionalValue.of(new InvalidElementException("Target Pawn Colour")); 32  } 33  return OptionalValue.empty(); 34  } 35  36  /** 37  * Refer to: {@link CharacterCard#unsafeApplyEffect(CharacterCardInput)} for further information 38  */ 39  @Override 40  protected void unsafeApplyEffect(CharacterCardInput input) { 41  this.context.getMutableEffects().setDeniedPawnColour(input.getTargetPawn().get()); 42  } 43  44  //test purpose only 45 }