Ejemplo n.º 1
0
        public void Feature_not_enabled_returns_is_valid_true()
        {
            var mockFeature = new Mock <IFilterPathwaysByAgeFeature>();

            mockFeature.Setup(f => f.IsEnabled).Returns(false);

            var sut = new AgeValidator <AgeGenderViewModel, int>(u => u.Age, mockFeature.Object);

            Assert.IsTrue(sut.IsAValidAge(24));
        }
Ejemplo n.º 2
0
        public void Feature_enabled_invalid_age_categories_throws_exception()
        {
            var mockFeature = new Mock <IFilterPathwaysByAgeFeature>();

            mockFeature.Setup(f => f.IsEnabled).Returns(true);
            mockFeature.Setup(f => f.FilteredAgeCategories).Returns(new[] { "x", "toddler" });

            var sut = new AgeValidator <AgeGenderViewModel, int>(u => u.Age, mockFeature.Object);

            Assert.IsTrue(sut.IsAValidAge(5));
        }
Ejemplo n.º 3
0
        public void Feature_enabled_exclude_infants_and_toddlers_age_5_returns_true()
        {
            var mockFeature = new Mock <IFilterPathwaysByAgeFeature>();

            mockFeature.Setup(f => f.IsEnabled).Returns(true);
            mockFeature.Setup(f => f.FilteredAgeCategories).Returns(new[] { "infant", "toddler" });

            var sut = new AgeValidator <AgeGenderViewModel, int>(u => u.Age, mockFeature.Object);

            Assert.IsTrue(sut.IsAValidAge(5));
        }
Ejemplo n.º 4
0
        public void Feature_enabled_empty_age_list_returns_is_valid_true()
        {
            var mockFeature = new Mock <IFilterPathwaysByAgeFeature>();

            mockFeature.Setup(f => f.IsEnabled).Returns(true);
            mockFeature.Setup(f => f.FilteredAgeCategories).Returns(new string[0]);

            var sut = new AgeValidator <AgeGenderViewModel, int>(u => u.Age, mockFeature.Object);

            Assert.IsTrue(sut.IsAValidAge(24));
        }
Ejemplo n.º 5
0
 public void validationTest_AgeIsAboveMaxAge()
 {
     try
     {
         AgeValidator ageValidator = new AgeValidator(55);
         ageValidator.validation();
         Assert.Fail("Nem dob kivételt magas életkorra!");
     }
     catch (AgeAboveMaximumAgeException)
     {
     }
 }
Ejemplo n.º 6
0
 public void validationTest_AgeIsUnderMinAge()
 {
     try
     {
         AgeValidator ageValidator = new AgeValidator(11);
         ageValidator.validation();
         Assert.Fail("Nem dob kivételt alacsony életkorra!");
     }
     catch (AgeUnderMinimumAgeException)
     {
     }
 }
Ejemplo n.º 7
0
 public void validationTest_AgeIsZero()
 {
     try
     {
         AgeValidator ageValidator = new AgeValidator(0);
         ageValidator.validation();
         Assert.Fail("Nem dob kivételt 0 életkorra!");
     }
     catch (AgeIsZeroException)
     {
     }
 }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            //Define successors
            var firstNameValidator = new FirstNameValidator();
            var lastNameValidator  = new LastNameValidator();
            var ageValidator       = new AgeValidator();

            //Init successors in sequence
            firstNameValidator.SetSuccessor(lastNameValidator);
            lastNameValidator.SetSuccessor(ageValidator);

            var account = new Account()
            {
                Age = 20,
                BankCreditRequestEnum = ChainOfRespobility.Data.Enums.BankCreditRequestEnum.Financial,
                FirstName             = "Linus",
                LastName = "Torvalds"
            };

            try
            {
                firstNameValidator.ValidateBankCreditRequest(account);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{account.FirstName} {account.LastName} credit request has been denied\n" +
                                  $"Reason : {ex.Message}\n\n");
            }

            var account2 = new Account()
            {
                Age = 30,
                BankCreditRequestEnum = ChainOfRespobility.Data.Enums.BankCreditRequestEnum.IndividualLoan,
                FirstName             = "Steve",
                LastName = "Jobs"
            };

            firstNameValidator.ValidateBankCreditRequest(account2);

            Console.WriteLine("-------------");
            Console.WriteLine("Approved Account Info\n");
            Console.WriteLine($"Id : {account2.Id}\n");
            Console.WriteLine($"First Name : {account2.FirstName}\n");
            Console.WriteLine($"Last Name : {account2.LastName}\n");
            Console.WriteLine($"Age : {account2.Age}\n");
            Console.WriteLine($"Approved Date : {account2.CreatedAt.ToString("MM/dd/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture)}\n");
            Console.WriteLine("-------------");
        }
        private bool ValidateFields()
        {
            bool result = true;

            NameValidator.Validate();
            if (!NameValidator.IsValid)
            {
                result = false;
            }

            AgeValidator.Validate();
            if (!AgeValidator.IsValid)
            {
                result = false;
            }


            return(result);
        }
Ejemplo n.º 10
0
        public void CanValidateAgeDiff()
        {
            Person w1 = new Person {
                BirthDate = new DateTime(2000, DateTime.Now.Month, DateTime.Now.Day)
            };
            Person m1 = new Person {
                BirthDate = new DateTime(2000, DateTime.Now.Month, DateTime.Now.Day)
            };
            Person w2 = new Person {
                BirthDate = new DateTime(2000, 1, 1)
            };
            Person m2 = new Person {
                BirthDate = new DateTime(1994, 12, 31)
            };

            AgeValidator validator = new AgeValidator();

            Assert.True(validator.Matched(w1, m1));
            Assert.False(validator.Matched(w2, m2));
        }
Ejemplo n.º 11
0
 public void setAge(int age)
 {
     try
     {
         AgeValidator ageValidator = new AgeValidator(age);
         ageValidator.validation();
         this.age = age;
     }
     catch (AgeIsZeroException e)
     {
         Debug.WriteLine(e.Message);
         throw new RacerException(e.Message + "\n" + age);
     }
     catch (AgeUnderMinimumAgeException e)
     {
         Debug.WriteLine(e.Message);
         throw new RacerException(e.Message + "\n" + age);
     }
     catch (AgeAboveMaximumAgeException e)
     {
         Debug.WriteLine(e.Message);
         throw new RacerException(e.Message + "\n" + age);
     }
 }
Ejemplo n.º 12
0
 public AgeValidatorTests()
 {
     _ageValidator = new AgeValidator();
 }
Ejemplo n.º 13
0
        /// <summary>
        /// Versenyző hozzáadása a csapathoz
        /// Ellenörizze, hogy az argumentumbeli számadadok megfelelő formátumuak-e, ha nem dobjon kivételt
        /// NameValidator, AgeValidator és SalaryValidatorral ellenörizze az adatokat. Ha valamelyik nem jó, dobjon kivételt
        /// Alsóbb rétegek segítségével, ellenörizze, hogy az adott nevű és életkorú versenyző tagja-e a csapatnak, ha igen dobjon kivételt
        /// Alsóbb rétegek segítségével kérje, le a következő versenyző ID-jét
        /// Hozza létre az új Racert-t. Az alsóbb rétegek kivételeit kapja el, és adja tovább
        /// Adja hozzá az új versenyzőt a csapathoz. Kapja el az elsó rétegek kivételeit és adja tovább
        /// </summary>
        /// <param name="teamName">A csapat neve</param>
        /// <param name="racerName">A versenyző neve</param>
        /// <param name="racerAge">A versenyző életkora</param>
        /// <param name="racerSalary">A versenyző bérköltsége</param>
        public void addRacerToTeam(string teamName, string racerName, string racerAge, string racerSalary)
        {
            if (!int.TryParse(racerAge, out int racerAgeNumber))
            {
                throw new ControllerException("Életkor nem megfelelő formátumú!");
            }

            if (!int.TryParse(racerSalary, out int racerSalaryNumber))
            {
                throw new ControllerException("Fizetés nem megfelelő formátumú!");
            }

            try
            {
                NameValidator nv = new NameValidator(racerName);
                nv.validation();
            }
            catch (NameNotValidNameIsEmptyException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (NameNotValidFirstLetterProblemException e)
            {
                throw new ControllerException(e.Message);
            }

            try
            {
                AgeValidator av = new AgeValidator(racerAgeNumber);
                av.validation();
            }
            catch (AgeIsZeroException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (AgeUnderMinimumAgeException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (AgeAboveMaximumAgeException e)
            {
                throw new ControllerException(e.Message);
            }

            try
            {
                SalaryValidator sv = new SalaryValidator(racerSalaryNumber);
                sv.validation();
            }
            catch (SalaryZeroException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (NegativeSalaryException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (HighSalaryException e)
            {
                throw new ControllerException(e.Message);
            }

            Racer providedRacer = new Racer(0, racerName, racerAgeNumber, 1);

            var existingInTeam = teamService.getRacerFromTheTeam(teamName).Contains(providedRacer);

            if (existingInTeam)
            {
                throw new ControllerException("Már tagja a csapatnak a versenyző!");
            }

            int   id       = teamService.getNextRacerId();
            Racer newRacer = null;

            try
            {
                newRacer = new Racer(id, racerName, racerAgeNumber, racerSalaryNumber);
            }
            catch (NameNotValidNameIsEmptyException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (NameNotValidFirstLetterProblemException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (AgeIsZeroException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (AgeAboveMaximumAgeException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (AgeUnderMinimumAgeException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (SalaryZeroException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (NegativeSalaryException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (HighSalaryException e)
            {
                throw new ControllerException(e.Message);
            }

            try
            {
                teamService.addReacerToTeam(teamName, newRacer);
            }
            catch (TeamException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (F1Exception e)
            {
                throw new ControllerException(e.Message);
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Versenyző adatainak módosítása
        /// Kösse be a Validatorokkat a metódusba!
        /// </summary>
        /// <param name="teamName">A csapat neve</param>
        /// <param name="oldRacerName">A versenyző régi neve</param>
        /// <param name="racerName">A versenyző új neve</param>
        /// <param name="racerAge">A versenyző új neve</param>
        /// <param name="racerSalary">A versenyző költsége</param>
        public void updateRacerInTeam(string teamName, string oldRacerName, string racerName, string racerAge, string racerSalary)
        {
            int racerAgeNumber = 0;

            if (!int.TryParse(racerAge, out racerAgeNumber))
            {
                throw new ControllerException("A megadott életkor nem megfelelő alakú szám!");
            }
            int racerSalaryNumber = 0;

            if (!int.TryParse(racerSalary, out racerSalaryNumber))
            {
                throw new ControllerException("A megadott fizetés nem megfelelő alakú szám!");
            }
            if (teamService.existRacer(racerName, racerAgeNumber))
            {
                throw new ControllerException("Már létezik " + racerName + " nevű versenyző, aki " + racerAge + " éves.");
            }

            try
            {
                NameValidator nv = new NameValidator(racerName);
                nv.validation();
            }
            catch (NameNotValidNameIsEmptyException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (NameNotValidFirstLetterProblemException e)
            {
                throw new ControllerException(e.Message);
            }

            try
            {
                AgeValidator av = new AgeValidator(racerAgeNumber);
                av.validation();
            }
            catch (AgeIsZeroException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (AgeUnderMinimumAgeException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (AgeAboveMaximumAgeException e)
            {
                throw new ControllerException(e.Message);
            }

            try
            {
                SalaryValidator sv = new SalaryValidator(racerSalaryNumber);
                sv.validation();
            }
            catch (SalaryZeroException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (NegativeSalaryException e)
            {
                throw new ControllerException(e.Message);
            }
            catch (HighSalaryException e)
            {
                throw new ControllerException(e.Message);
            }

            try
            {
                int racerId = teamService.getRacerId(teamName, oldRacerName);
                if (racerId > 0)
                {
                    Racer newRacer = new Racer(racerId, racerName, racerAgeNumber, racerSalaryNumber);
                    teamService.updateReacerInTeam(teamName, oldRacerName, newRacer);
                }
                else
                {
                    throw new ControllerException("A megadott versenyőjnek nem találom az azonosítáját");
                }
            }
            catch (TeamServiceExeption tse)
            {
                throw new ControllerException(tse.Message);
            }
            catch (RacerException re)
            {
                throw new ControllerException(re.Message);
            }
        }
Ejemplo n.º 15
0
 public UnitTest1()
 {
     age           = new AgeValidator();
     bornNumber    = new BornNumberValidator();
     nameValidator = new NameValidator();
 }
Ejemplo n.º 16
0
        public Racer(int id, string name, int age, int salary)
        {
            this.id = id;

            try
            {
                NameValidator validator = new NameValidator(name);
                validator.validation();
                this.name = name;
            }
            catch (NameNotValidNameIsEmptyException e)
            {
                Debug.WriteLine(e.Message);
                throw new RacerException(e.Message + "\n" + name);
            }
            catch (NameNotValidFirstLetterProblemException e)
            {
                Debug.WriteLine(e.Message);
                throw new RacerException(e.Message + "\n" + name);
            }

            try
            {
                AgeValidator ageValidator = new AgeValidator(age);
                ageValidator.validation();
                this.age = age;
            }
            catch (AgeIsZeroException e)
            {
                Debug.WriteLine(e.Message);
                throw new RacerException(e.Message + "\n" + age);
            }
            catch (AgeUnderMinimumAgeException e)
            {
                Debug.WriteLine(e.Message);
                throw new RacerException(e.Message + "\n" + age);
            }
            catch (AgeAboveMaximumAgeException e)
            {
                Debug.WriteLine(e.Message);
                throw new RacerException(e.Message + "\n" + age);
            }

            try
            {
                SalaryValidator salaryValidator = new SalaryValidator(salary);
                salaryValidator.validation();
                this.salary = salary;
            }
            catch (SalaryZeroException e)
            {
                Debug.WriteLine(e.Message);
                throw new RacerException(e.Message + "\n" + salary);
            }
            catch (NegativeSalaryException e)
            {
                Debug.WriteLine(e.Message);
                throw new RacerException(e.Message + "\n" + salary);
            }
            catch (HighSalaryException e)
            {
                Debug.WriteLine(e.Message);
                throw new RacerException(e.Message + "\n" + salary);
            }
        }