Example #1
0
        public void VoteOnPresidentCandidateTest()
        {
            bool          saveChangesCalled = false;
            PresidentVote addedVote         = null;

            presidentVotingRepository.Setup(x => x.AddVote(It.IsAny <PresidentVote>()))
            .Callback <PresidentVote>(v => addedVote = v);

            presidentVotingRepository.Setup(x => x.SaveChanges())
            .Callback(() => saveChangesCalled = true);

            var country = new CountryDummyCreator()
                          .SetPresidentVotingStatus(GameHelper.CurrentDay, VotingStatusEnum.Ongoing)
                          .Create();

            var citizen = new CitizenDummyCreator()
                          .SetCountry(country)
                          .Create();

            var candidateCitizen = new CitizenDummyCreator()
                                   .SetCountry(country)
                                   .Create();

            var voting = country.PresidentVotings.Last();

            var candidate = new PresidentCandidateDummyCreator()
                            .Create(voting);

            countrySerivce.VoteOnPresidentCandidate(citizen, candidate);

            Assert.IsTrue(saveChangesCalled);
            Assert.AreEqual(citizen.ID, addedVote.CitizenID);
            Assert.AreEqual(candidate.ID, addedVote.CandidateID);
            Assert.AreEqual(voting.ID, addedVote.PresidentVotingID);
        }
Example #2
0
        public void CanVoteOnPresidentCandidatePreviousVoting()
        {
            var country = new CountryDummyCreator()
                          .SetPresidentVotingStatus(GameHelper.CurrentDay - 7, VotingStatusEnum.Finished)
                          .Create();

            var citizen = new CitizenDummyCreator()
                          .SetCountry(country)
                          .Create();

            var candidateCitizen = new CitizenDummyCreator()
                                   .SetCountry(country)
                                   .Create();

            var oldVoting = country.PresidentVotings.Last();

            var newVoting = new PresidentVotingDummyCreator()
                            .SetState(GameHelper.CurrentDay, VotingStatusEnum.Ongoing)
                            .Create(country);


            var oldCandidate = new PresidentCandidateDummyCreator()
                               .Create(oldVoting);

            Assert.IsFalse(countrySerivce.CanVoteOnPresidentCandidate(citizen, oldCandidate).isSuccess);
        }
Example #3
0
        public void CanVoteInPresidentElectionsVotedBeforeTest()
        {
            var country = new CountryDummyCreator()
                          .SetPresidentVotingStatus(GameHelper.CurrentDay, VotingStatusEnum.Ongoing)
                          .Create();

            var citizen = new CitizenDummyCreator()
                          .SetCountry(country)
                          .Create();

            var candidateCitizen = new CitizenDummyCreator()
                                   .SetCountry(country)
                                   .Create();

            var voting = country.PresidentVotings.Last();

            var candidate = new PresidentCandidateDummyCreator()
                            .Create(voting);

            var vote = new PresidentVoteDummyGenerator()
                       .SetVotingCitizen(citizen)
                       .Create(candidate);

            Assert.IsFalse(countrySerivce.CanVoteInPresidentElections(citizen, country.PresidentVotings.Last()).isSuccess);
        }
Example #4
0
        public void PresidentVotingSameNumberOfVotes()
        {
            var countryCreator    = new CountryDummyCreator();
            var candidatesCreator = new PresidentCandidateDummyCreator();

            candidatesCreator.setVotesNumber(10);

            countryCreator.VotingCreator.SetState(GameHelper.CurrentDay, VotingStatusEnum.Ongoing);

            var country = countryCreator.Create();

            var citizenCreator = new CitizenDummyCreator();

            var voting = country.PresidentVotings.Last();

            for (int i = 0; i < 5; ++i)
            {
                var candidate = candidatesCreator.Create(voting);
                voting.PresidentCandidates.Add(candidate);
                candidates.Add(candidate);
            }

            PresidentVoting newVoting = null;

            presidentVotingRepository.Setup(x => x.Add(It.IsAny <PresidentVoting>()))
            .Callback <PresidentVoting>(v => newVoting = v);

            countrySerivce.ProcessPresidentVoting(GameHelper.CurrentDay, country, voting);

            Assert.IsTrue(country.PresidentID == null);
            Assert.IsTrue(voting.VotingStatusID == (int)VotingStatusEnum.Finished);
            Assert.IsTrue(voting != newVoting && newVoting != null);
            Assert.IsTrue(newVoting.StartDay > GameHelper.CurrentDay);
            Assert.IsTrue(newVoting.VotingStatusID == (int)VotingStatusEnum.NotStarted);
        }
Example #5
0
        public void PresidentVotingCandidateWinningTest()
        {
            var countryCreator    = new CountryDummyCreator();
            var candidatesCreator = new PresidentCandidateDummyCreator();


            countryCreator.VotingCreator.SetState(GameHelper.CurrentDay, VotingStatusEnum.Ongoing);

            var country = countryCreator.Create();

            var citizenCreator = new CitizenDummyCreator();

            var voting = country.PresidentVotings.Last();

            PresidentCandidate lastCandidate = null;



            for (int i = 0; i < 5; ++i)
            {
                candidatesCreator.setVotesNumber(10 + i);
                var candidate = candidatesCreator.Create(voting);
                voting.PresidentCandidates.Add(candidate);
                lastCandidate = candidate;
                candidates.Add(candidate);
            }

            PresidentVoting newVoting = null;

            presidentVotingRepository.Setup(x => x.Add(It.IsAny <PresidentVoting>()))
            .Callback <PresidentVoting>(v => newVoting = v);



            countrySerivce.ProcessPresidentVoting(GameHelper.CurrentDay, country, voting);

            Assert.IsTrue(country.PresidentID == lastCandidate.CandidateID);
            Assert.IsTrue(lastCandidate.CandidateStatusID == (int)PresidentCandidateStatusEnum.Approved);
            Assert.IsTrue(voting.VotingStatusID == (int)VotingStatusEnum.Finished);
            Assert.IsTrue(voting != newVoting && newVoting != null);
            Assert.IsTrue(newVoting.StartDay > GameHelper.CurrentDay);
            Assert.IsTrue(newVoting.VotingStatusID == (int)VotingStatusEnum.NotStarted);
            foreach (var candidate in candidates)
            {
                if (candidate != lastCandidate)
                {
                    Assert.IsTrue(candidate.CandidateStatusID == (int)PresidentCandidateStatusEnum.Rejected);
                }
            }
        }