private static VoteTracker CreateVoteTrackerWithConstraints() { var MAX_VOTES_SELECTION = 3; var MAX_VOTES_NOMINATION = 2; var vt = new VoteTracker(); var nnrConstraint = new NoNewRestaurantsConstraint(vt); var mvpuConstraint_nom = new MaxVotesPerUserConstraint(vt, MAX_VOTES_NOMINATION); var mvpuConstraint_sel = new MaxVotesPerUserConstraint(vt, MAX_VOTES_SELECTION); vt.SetConstraints(State.NominationPhase, mvpuConstraint_nom); vt.SetConstraints(State.SelectionPhase, mvpuConstraint_sel); vt.SetConstraints(State.SelectionPhase, nnrConstraint); return(vt); }
public void it_constrains_max_votes_per_user_per_state() { const int MAX_VOTES_PER_USER = 5; var u = new User(); var r = new Restaurant(); var vt = new VoteTracker(); var constraint = new MaxVotesPerUserConstraint(vt, MAX_VOTES_PER_USER); vt.SetConstraints(State.NominationPhase, constraint); for (var x = 0; x <= (MAX_VOTES_PER_USER + 1); x++) { vt.LogVote(u, r); } Assert.Fail("exception not thrown"); }