### Question:
ActionObserverPlayerPerspective implements Sc2ApiSerializable<Sc2Api.ActionObserverPlayerPerspective> { public static ActionObserverPlayerPerspectiveSyntax playerPerspective() { return new Builder(); } private  ActionObserverPlayerPerspective(Builder builder); static ActionObserverPlayerPerspectiveSyntax playerPerspective(); @Override Sc2Api.ActionObserverPlayerPerspective toSc2Api(); int getPlayerId(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenPlayerIdIsNotSet() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> ((ActionObserverPlayerPerspective.Builder) playerPerspective()).build()) .withMessage("player id is required"); }