internal static void ThrowForReason(AddClaimForbideReason reason, Claim claim) { switch (reason) { case AddClaimForbideReason.ProjectNotActive: throw new ProjectDeactivedException(); case AddClaimForbideReason.ProjectClaimsClosed: case AddClaimForbideReason.SlotsExhausted: case AddClaimForbideReason.NotForDirectClaims: case AddClaimForbideReason.Busy: case AddClaimForbideReason.Npc: throw new ClaimTargetIsNotAcceptingClaims(); case AddClaimForbideReason.AlreadySent: throw new ClaimAlreadyPresentException(); case AddClaimForbideReason.OnlyOneCharacter: throw new OnlyOneApprovedClaimException(); case AddClaimForbideReason.ApprovedClaimMovedToGroup: case AddClaimForbideReason.CheckedInClaimCantBeMoved: throw new ClaimWrongStatusException(claim); default: throw new ArgumentOutOfRangeException(nameof(reason), reason, message: null); } }
public static AddClaimForbideReasonViewModel ToViewModel(this AddClaimForbideReason reason) { switch (reason) { case AddClaimForbideReason.ProjectNotActive: return(AddClaimForbideReasonViewModel.ProjectNotActive); case AddClaimForbideReason.ProjectClaimsClosed: return(AddClaimForbideReasonViewModel.ProjectClaimsClosed); case AddClaimForbideReason.NotForDirectClaims: return(AddClaimForbideReasonViewModel.NotForDirectClaims); case AddClaimForbideReason.SlotsExhausted: return(AddClaimForbideReasonViewModel.SlotsExhausted); case AddClaimForbideReason.Npc: return(AddClaimForbideReasonViewModel.Npc); case AddClaimForbideReason.Busy: return(AddClaimForbideReasonViewModel.Busy); case AddClaimForbideReason.AlreadySent: return(AddClaimForbideReasonViewModel.AlreadySent); case AddClaimForbideReason.OnlyOneCharacter: return(AddClaimForbideReasonViewModel.OnlyOneCharacter); case AddClaimForbideReason.ApprovedClaimMovedToGroup: return(AddClaimForbideReasonViewModel.ApprovedClaimMovedToGroup); case AddClaimForbideReason.CheckedInClaimCantBeMoved: return(AddClaimForbideReasonViewModel.CheckedInClaimCantBeMoved); default: throw new ArgumentOutOfRangeException(nameof(reason), reason, message: null); } }
private void ShouldBeNotAllowed(IClaimSource claimSource, AddClaimForbideReason reason) => claimSource.ValidateIfCanAddClaim(Mock.Player.UserId).ShouldContain(reason);
private void ShouldDisAllowMove(Claim claim, IClaimSource characterGroup, AddClaimForbideReason reason) { characterGroup.ValidateIfCanMoveClaim(claim).ShouldBe(new [] { reason }); }
public void AllTranslated(AddClaimForbideReason reason) { Should.NotThrow(() => reason.ToViewModel()); }
public void AllForbideReasonTranslatedToThrow(AddClaimForbideReason reason) { var claim = new Claim(); _ = Should.Throw <JoinRpgBaseException>(() => ClaimSourceExtensions.ThrowForReason(reason, claim)); }