Exemplo n.º 1
0
        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);
        }