protected void AssertBlockListCandidates(IEmployer employer, CandidateBlockList blockList, ICollection<Member> blockedMembers, ICollection<Member> notBlockedMembers) { // IsBlocked foreach (var member in blockedMembers) Assert.IsTrue(_candidateBlockListsQuery.IsBlocked(employer, blockList.Id, member.Id)); foreach (var member in notBlockedMembers) Assert.IsFalse(_candidateBlockListsQuery.IsBlocked(employer, blockList.Id, member.Id)); if (blockList.BlockListType == BlockListType.Permanent) { foreach (var member in blockedMembers) Assert.IsTrue(_candidateBlockListsQuery.IsPermanentlyBlocked(employer, member.Id)); foreach (var member in notBlockedMembers) Assert.IsFalse(_candidateBlockListsQuery.IsPermanentlyBlocked(employer, member.Id)); } // GetBlockedCandidateIds Assert.IsTrue((from m in blockedMembers select m.Id).CollectionEqual(_candidateBlockListsQuery.GetBlockedCandidateIds(employer, blockList.Id))); if (blockList.BlockListType == BlockListType.Permanent) Assert.IsTrue((from m in blockedMembers select m.Id).CollectionEqual(_candidateBlockListsQuery.GetPermanentlyBlockedCandidateIds(employer))); // GetEntryCounts var counts = _candidateBlockListsQuery.GetBlockedCounts(employer); if (counts.ContainsKey(blockList.Id)) Assert.AreEqual(blockedMembers.Count, counts[blockList.Id]); else Assert.AreEqual(blockedMembers.Count, 0); }