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); }