コード例 #1
0
ファイル: EntrantTests.cs プロジェクト: haiconmot/SmsQuiz
        public void EntrantIsNotValid()
        {
            // Arrange
            Mock<IEntrantContact> contact = new Mock<IEntrantContact>();
            contact.Setup(a => a.ValidationErrors).Returns(new ValidationErrors());

            Entrant entrant = new Entrant();
            entrant.Contact = contact.Object;

            // Act
            bool isValid = entrant.IsValid;

            // Assert
            Assert.IsFalse(isValid);
        }
コード例 #2
0
ファイル: EntrantTests.cs プロジェクト: haiconmot/SmsQuiz
        public void EntrantIsValid()
        {
            // Arrange
            Mock<IEntrantContact> contact = new Mock<IEntrantContact>();
            contact.Setup(c => c.IsValid).Returns(true);

            Entrant entrant = new Entrant();
            entrant.Answer = CompetitionAnswer.A;
            entrant.Source = EntrantSource.Sms;
            entrant.Contact = contact.Object;

            // Act
            bool isValid = entrant.IsValid;

            // Assert
            Assert.IsTrue(isValid);            
        }
コード例 #3
0
ファイル: EntrantTests.cs プロジェクト: haiconmot/SmsQuiz
        public void EntrantWithContactValidationErrorsIsNotValid()
        {
            // Arrange
            Mock<IEntrantContact> contact = new Mock<IEntrantContact>();
            ValidationErrors errors = new ValidationErrors();
            errors.Add("invalidProperty");
            contact.Setup(a => a.ValidationErrors).Returns(errors);
            contact.Setup(a => a.IsValid).Returns(false);

            Entrant entrant = new Entrant();
            entrant.Answer = CompetitionAnswer.A;
            entrant.Source = EntrantSource.Sms;
            entrant.Contact = contact.Object;
            
            // Act
            bool isValid = entrant.IsValid;

            // Assert
            Assert.IsFalse(isValid);
        }
コード例 #4
0
ファイル: Competition.cs プロジェクト: haiconmot/SmsQuiz
 /// <summary>
 /// Adds the entrant.
 /// </summary>
 /// <param name="entrant">
 /// The entrant.
 /// </param>
 public void AddEntrant(Entrant entrant)
 {
     this._entrants.Add(entrant);
 }
コード例 #5
0
        private void Update(Guid id)
        {
            // Arrange
            string newCompetitionKey = StringExtensions.GetRandomString(5);
            Competition competition = _competitionRepository.FindByID(id);
            competition.CompetitionKey = newCompetitionKey;
            competition.SetCompetitionState(new ClosedState());

            IEntrantContact contact = EntrantContactFactory.GetInstance(EntrantContactType.Email);
            contact.Contact = "*****@*****.**";

            var entrant = new Entrant
                {
                    Answer = CompetitionAnswer.A,
                    EntryDate = DateTime.Now,
                    Source = EntrantSource.Email,
                    Contact = contact
                };

            competition.AddEntrant(entrant);

            // Act
            _competitionRepository.Update(competition);

            Entrant winner = competition.Entrants.First();
            competition.Winner = winner;
            Guid winnerID = winner.ID;

            _competitionRepository.Update(competition);

            Competition updatedCompetition = _competitionRepository.FindByID(id);

            // Assert
            Assert.AreEqual(newCompetitionKey, updatedCompetition.CompetitionKey, "Record is not updated.");
            Assert.AreEqual(winnerID, updatedCompetition.Winner.ID, "Winner is not updated.");
            Assert.AreEqual(CLOSED_STATE, updatedCompetition.State.Status, "Competition status is not updated.");
        }