Exemplo n.º 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);
        }
Exemplo n.º 2
0
        public void ShouldThrowExceptionWithInvalidRegex()
        {
            var invalidRegex = "010010G4783";

            var ex = Assert.Throws <DomainException>(() => PersonalNumberVO.Create(invalidRegex));

            Assert.That(ex.Code, Is.EqualTo(DomainExceptionCode.InvalidPersonalNumber));
        }
Exemplo n.º 3
0
        public void ShouldThrowExceptionWithEmptyOrDefaultValue()
        {
            var value = default(string);

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

            Assert.That(ex.Code, Is.EqualTo(DomainExceptionCode.InvalidPersonalNumber));
        }
Exemplo n.º 4
0
        public void ShouldBeCastableToString()
        {
            var value = "01001034456";

            var vo = PersonalNumberVO.Create(value);

            Assert.AreEqual(vo.ToString(), value);
        }
Exemplo n.º 5
0
        public void ShouldReturnCorrectValue()
        {
            var value = "01001034456";

            var vo = PersonalNumberVO.Create(value);

            Assert.AreEqual(vo.Value, value);
        }
Exemplo n.º 6
0
        public void ShouldBeEqual()
        {
            var value = "01001034456";

            var vo1 = PersonalNumberVO.Create(value);

            var vo2 = PersonalNumberVO.Create(value);

            Assert.AreEqual(vo1, vo2);
        }