Exemple #1
0
        public static Person Create(
            string firstName,
            string lastName,
            string personalNumber,
            DateTime birthDate,
            GenderTypeEnum?genderTypeId,
            int cityId)
        {
            var nameVo           = PersonNameVO.Create(firstName, lastName);
            var birthDateVo      = BirthDateVO.Create(birthDate);
            var personalNumberVo = PersonalNumberVO.Create(personalNumber);

            var instance = new Person
            {
                Name           = nameVo,
                BirthDate      = birthDateVo,
                PersonalNumber = personalNumberVo,
                CityId         = cityId,
                GenderTypeId   = genderTypeId,
                PhoneNumbers   = new List <PhoneNumber>()
            };

            Validate(instance);

            instance.DomainEvents.Add(new PersonCreatedEvent(instance));

            return(instance);
        }
        public void ShouldThrowExceptionWithInvalidAgeSpecification()
        {
            var value = DateTime.UtcNow.AddYears(-17);

            var ex = Assert.Throws <DomainException>(() => BirthDateVO.Create(value));

            Assert.That(ex.Code, Is.EqualTo(DomainExceptionCode.InvalidBirthDate));
        }
        public void ShouldThrowExceptionWithEmptyOrDefaultValue()
        {
            var value = default(DateTime);

            var ex = Assert.Throws <DomainException>(() => BirthDateVO.Create(value));

            Assert.That(ex.Code, Is.EqualTo(DomainExceptionCode.InvalidBirthDate));
        }
        public void ShouldBeCastableToString()
        {
            var value = DateTime.UtcNow.AddYears(-18);

            var vo = BirthDateVO.Create(value);

            Assert.AreEqual(vo.ToString(), $"{value:MM/dd/yyyy}");
        }
        public void ShouldReturnCorrectValue()
        {
            var value = DateTime.UtcNow.AddYears(-18);

            var vo = BirthDateVO.Create(value);

            Assert.AreEqual(vo.Value, new DateTime(value.Year, value.Month, value.Day));
        }
        public void ShouldBeEqual()
        {
            var value = DateTime.UtcNow.AddYears(-18);

            var vo1 = BirthDateVO.Create(value);

            var vo2 = BirthDateVO.Create(value);

            Assert.AreEqual(vo1, vo2);
        }