Skip to content

Instantly share code, notes, and snippets.

public abstract class OpeningResult
{
public static OpeningResult Success(ClaimId claimId, ReferenceInCompany referenceInCompany)
{
return new SuccessfulOpeningResult(claimId, referenceInCompany);
}
public static OpeningResult Failure(ClaimId claimId, string description)
{
return new FailingOpeningResult(claimId, description);
public class OpeningResult
{
private readonly string? _failureDescription;
private readonly ReferenceInCompany? _referenceInCompany;
private readonly ClaimId _claimId;
private OpeningResult(ReferenceInCompany? referenceInCompany, ClaimId claimId, string? failureDescription)
{
_failureDescription = failureDescription;
_claimId = claimId;
// some imports
public class NotifyOpenedClaimCommandBuilder {
// some fields
public static NotifyOpenedClaimCommandBuilder aNotifyOpenedCommand() {
return new NotifyOpenedClaimCommandBuilder();
}
public NotifyOpenedClaimCommandBuilder of(ClaimDataBuilder claimBuilder) {
// some imports...
public class OpenClaimCommandBuilder {
// some fields
private OpenClaimCommandBuilder() {}
public static OpenClaimCommandBuilder anOpenCommand() {
return new OpenClaimCommandBuilder();
}
// some imports...
public class ClaimBuilderX {
// some fields...
public static ClaimBuilderX aClaim() {
return new ClaimBuilderX();
}
private ClaimBuilderX() {
@Test
public void obtaining_commands_when_some_claims_were_already_opened_but_not_notified_to_broker() {
// arrange....
List<ClaimCommand> claimCommands = allClaimCommandsRepository.getCommands();
assertThat(claimCommands).isEqualTo(List.of(
aNotifyOpenedCommand().of(
aClaimDto().withClaimId(aClaimId).withCompanyId(companyId)
).withReferenceInCompany(refInCompany).usingOpeningListener(claimsOpeningListener).build(),
// some imports...
public class NotifyOpenedClaimCommandBuilder {
private ClaimsOpeningListener openingListener;
private ClaimReferenceInCompany referenceInCompany;
private ClaimDataBuilder claimBuilder;
public static NotifyOpenedClaimCommandBuilder aNotifyOpenedCommand() {
return new NotifyOpenedClaimCommandBuilder();
}
@Test
public void obtaining_commands_when_some_claims_were_already_opened_but_not_notified_to_broker() {
// arrange....
List<ClaimCommand> claimCommands = allClaimCommandsRepository.getCommands();
assertThat(claimCommands).isEqualTo(List.of(
aClaimOpenButNotNotified().withOpeningListener(claimsOpeningListener)
.withReferenceInCompany(refInCompany)
.withClaimId(aClaimId).withCompanyId(companyId).build(),
@Test
public void obtaining_commands_when_some_claims_were_already_opened_but_not_notified_to_broker() {
// arrange....
List<ClaimCommand> claimCommands = allClaimCommandsRepository.getCommands();
assertThat(claimCommands).isEqualTo(List.of(
aClaimOpenButNotNotified().withOpeningListener(claimsOpeningListener)
.withReferenceInCompany(refInCompany)
.withClaimId(aClaimId).withCompanyId(companyId).build(),
// some imports...
public class OpenClaimCommandBuilder {
private Company company;
private ClaimDataBuilder claimBuilder;
private OpenClaimCommandBuilder() {}
public static OpenClaimCommandBuilder anOpenCommand() {
return new OpenClaimCommandBuilder();