Skip to content

Instantly share code, notes, and snippets.

@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();
public class OpeningResult
{
private readonly string? _failureDescription;
private readonly string? _referenceInCompany;
private readonly string _claimId;
private OpeningResult(string? referenceInCompany, string claimId, string? failureDescription)
{
_failureDescription = failureDescription;
_claimId = claimId;
namespace Security;
public class SimulatedSecurityManager
{
private readonly Encrypter _encrypter;
private readonly Notifier _notifier;
private readonly TextUserDataRequester _userDataRequester;
public SimulatedSecurityManager(Notifier notifier, InputReader inputReader)
{
@trikitrok
trikitrok / ClaimBuilder.java
Last active July 30, 2025 07:24
ClaimBuilder using CRTP abbreviated
// imports elided...
public abstract class ClaimBuilder<T extends ClaimBuilder<T>> {
// some fields elided...
protected ClaimBuilder() {
// setting some defaults elided...
}
public T withClaimId(String number) {
// imports elided...
public class OpenButNotNotifiedClaimBuilder extends ClaimBuilder<OpenButNotNotifiedClaimBuilder> {
private ClaimReferenceInCompany referenceInCompany;
private ClaimsOpeningListener claimsOpeningListener;
private OpenButNotNotifiedClaimBuilder() {
super();
}
// some imports elided...
public class ReadyToOpenClaimBuilder extends ClaimBuilder<ReadyToOpenClaimBuilder> {
private Company company;
private ReadyToOpenClaimBuilder() {
super();
}
// imports elided...
public class ClaimDataBuilder extends ClaimBuilder<ClaimDataBuilder> {
private ClaimDataBuilder() {
super();
}
public static ClaimDataBuilder aClaimDto() {
return new ClaimDataBuilder();
}
@trikitrok
trikitrok / ClaimBuilder.java
Last active July 30, 2025 07:21
ClaimBuilder using generics initial version abbreviated
// imports elided...
public abstract class ClaimBuilder<T> {
// some fields elided...
protected ClaimBuilder() {
// setting some defaults elided...
}
public T withClaimId(String number) {
@trikitrok
trikitrok / ClaimBuilder.java
Last active July 30, 2025 07:21
before segregating abbreviated
// imports elided...
public class ClaimBuilder {
// some fields elided...
public static ClaimBuilder aClaimReadyToOpen() {
ClaimBuilder builder = new ClaimBuilder();
builder.status = ClaimStatus.ReadyToOpen;
return aClaim(builder);
}