public static Result <CreateRegistrationCommand> Create(CreateRegistrationRequest request, ISystemTimeProvider systemTimeProvider, IExamExistenceValidator examExistenceValidator) { var candidateResult = DateOfBirth.Create(request.DateOfBirth, systemTimeProvider) .OnSuccess(dateOfBirth => Candidate.Create(request.FirstName, request.LastName, dateOfBirth)); var examResult = ExamId.Create(request.ExamId, examExistenceValidator); var buyerResult = ContactData.Create(request.Buyer?.Name, request.Buyer?.StreetAddress, request.Buyer?.City, request.Buyer?.ZipCode); return(Result.Combine(candidateResult, examResult, buyerResult) .OnSuccess(() => new CreateRegistrationCommand(candidateResult.Value, examResult.Value, buyerResult.Value))); }
public static ContactData CreateContactData() { return(ContactData.Create("John Smith", "Common 13B", "New York", "12-345").Value); }
public void ShouldReturnExpectedResults(string name, string streetAddress, string city, string zipCode, bool expected, string because) { var result = ContactData.Create(name, streetAddress, city, zipCode); result.IsSuccess.Should().Be(expected, because); }