コード例 #1
0
ファイル: GameTest.cs プロジェクト: michaellperry/MyImproving
        public void ModeratorAwardsCandidates()
        {
            _moderator.BeginNextRound();
            List <Candidate> candidates = _moderator.DealCandidates(2);

            SynchronizeAndQuiesce();

            Offer offerAlan1 = MakeOffer(_alan, 3, candidates[0].Unique);
            Offer offerAlan2 = MakeOffer(_alan, 1, candidates[1].Unique);

            Offer offerFlynn1 = MakeOffer(_flynn, 2, candidates[0].Unique);
            Offer offerFlynn2 = MakeOffer(_flynn, 7, candidates[1].Unique);

            SynchronizeAndQuiesce();

            _moderator.AwardCandidates();

            SynchronizeAndQuiesce();

            Assert.AreEqual(1, candidates[0].Offers.Count(offer => offer.Hires.Any()));
            Assert.AreEqual(1, candidates[1].Offers.Count(offer => offer.Hires.Any()));

            bool candidate1SelectedAlan  = offerAlan1.Hires.Any();
            bool candidate2SelectedAlan  = offerAlan2.Hires.Any();
            bool candidate1SelectedFlynn = offerFlynn1.Hires.Any();
            bool candidate2SelectedFlynn = offerFlynn2.Hires.Any();

            Assert.IsTrue(candidate1SelectedAlan ^ candidate1SelectedFlynn);
            Assert.IsTrue(candidate2SelectedAlan ^ candidate2SelectedFlynn);
        }