public void TestThrowsExceptionIfTournamentIsNull()
        {
            TournamentValidator tourVali = new TournamentValidator();
            Tournament          tour     = null;
            Exception           ex       = Assert.Throws <InvalidDataException>(() =>
                                                                                tourVali.CheckIfTournamentIsNull(tour));

            Assert.Equal("Tournament cant be nothing", ex.Message);
        }
        public void TestThrowsExceptionIfTournamentNameIsEmptyOrNull()
        {
            TournamentValidator tourVali = new TournamentValidator();
            Tournament          tour     = new Tournament
            {
                Name = ""
            };
            Exception ex = Assert.Throws <InvalidDataException>(() =>
                                                                tourVali.ValidateTournament(tour));

            Assert.Equal("Tournament cannot have an empty name", ex.Message);
        }
        public void TestThrowsExceptionIfTournamentNumberOfRoundsIsNegativeOrZero(int numberOfRounds)
        {
            TournamentValidator tourVali = new TournamentValidator();
            Tournament          tour     = new Tournament
            {
                Name           = "TestTournament",
                NumberOfRounds = numberOfRounds
            };
            Exception ex = Assert.Throws <InvalidDataException>(() =>
                                                                tourVali.ValidateTournament(tour));

            Assert.Equal("Number of rounds on tournament cannot be negative or zero", ex.Message);
        }
        private void CreateTournamentButton_Click(object sender, EventArgs e)
        {
            TournamentModel tm = new TournamentModel();

            decimal fee           = 0;
            bool    FeeAccaptable = decimal.TryParse(EntryFeeTextBox.Text, out fee);

            tm.TournamentName = EnterTournamentNameTextBox.Text;
            tm.EntryFee       = fee;
            tm.Prizes         = SelectedPrizes;
            tm.EnterdTeams    = selectedTeams;

            TournamentValidator validation = new TournamentValidator();
            var    result  = validation.Validate(tm);
            string message = "";

            if (!result.IsValid)
            {
                foreach (ValidationFailure res in result.Errors)
                {
                    message += $"{res}\n";
                }
                MessageBox.Show(message,
                                "error",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }
            if (!FeeAccaptable)
            {
                MessageBox
                .Show("entry fee is not a valid number ", "error",
                      MessageBoxButtons.OK,
                      MessageBoxIcon.Error);
                return;
            }



            TournamentLogic.CreateRounds(tm);

            GlobalConfig.Connaction.CreateTournament(tm);

            tm.AlertUsersToNewRound();


            TournamentViewerForm frm = new TournamentViewerForm(tm);

            frm.Show();
            this.Close();
        }
        public void TestThrowsExceptionIfTournamentEndDateAndStartdateIsBeforeToday()
        {
            TournamentValidator tourVali = new TournamentValidator();
            Tournament          tour     = new Tournament
            {
                Name           = "TestTournament",
                NumberOfRounds = 3,
                EndDate        = new DateTime(2019, 10, 25),
                StartDate      = new DateTime(2019, 10, 20)
            };
            Exception ex = Assert.Throws <InvalidDataException>(() =>
                                                                tourVali.ValidateDatesIsNotBeforeTodayOnCreatedTournament(tour));

            Assert.Equal("End date or start date cannot be before today", ex.Message);
        }
        public void TestThrowsExceptionIfTournamentEndDateIsBeforeStartDate()
        {
            TournamentValidator tourVali = new TournamentValidator();
            Tournament          tour     = new Tournament
            {
                Name           = "TestTournament",
                NumberOfRounds = 3,
                EndDate        = new DateTime(2019, 12, 10),
                StartDate      = new DateTime(2019, 12, 24)
            };
            Exception ex = Assert.Throws <InvalidDataException>(() =>
                                                                tourVali.ValidateTournament(tour));

            Assert.Equal("End date cant be before startdate", ex.Message);
        }
        public void IsValidStatus_Valid()
        {
            //Arrange
            var mockService = new Mock <ITournamentService>();

            mockService.Setup(m => m.GetTournaments()).Returns(new List <Tournament> {
                new Tournament()
            });

            //Act
            var validator = new TournamentValidator(mockService.Object);
            var val       = validator.IsValidStatus("inprogress");

            //Assert
            val.Count().Should().Be(0);
        }
        public void IsValidStatus_NotValid()
        {
            //Arrange
            var mockService = new Mock <ITournamentService>();

            mockService.Setup(m => m.GetTournaments()).Returns(new List <Tournament> {
                new Tournament()
            });

            //Act
            var validator = new TournamentValidator(mockService.Object);
            var val       = validator.IsValidStatus("lol");

            //Assert
            //Assert
            val.First().Message.Should().Be("Status can only be open, inprogress or complete.");
            val.First().ErrorType.Should().Be(ErrorTypes.Error);
        }
        public void IsValidName_Valid()
        {
            //Arrange
            var ut = new Tournament()
            {
                Name = "ValidateDuplicateTournamentNameTest"
            };
            var mockService = new Mock <ITournamentService>();

            mockService.Setup(m => m.GetTournaments()).Returns(new List <Tournament> {
                ut
            });

            //Act
            var validator = new TournamentValidator(mockService.Object);
            var val       = validator.IsTournamentNameExist("Valid");

            //Assert
            val.Count().Should().Be(0);
        }
        public void IsValidName_Duplicate()
        {
            //Arrange
            var ut = new Tournament()
            {
                Name = "ValidateDuplicateTournamentNameTest"
            };
            var mockService = new Mock <ITournamentService>();

            mockService.Setup(m => m.GetTournaments()).Returns(new List <Tournament> {
                ut
            });

            //Act
            var validator = new TournamentValidator(mockService.Object);
            var val       = validator.IsTournamentNameExist("ValidateDuplicateTournamentNameTest");

            //Assert
            val.First().Message.Should().Be("Tournament name already exists.");
            val.First().ErrorType.Should().Be(ErrorTypes.Error);
        }
Exemplo n.º 11
0
 public TourService(ITourRepository tourRepo)
 {
     _tourRepo  = tourRepo;
     _pointCalc = new PointCalculator();
     _tourVali  = new TournamentValidator();
 }