@Test public void givenProjekt_whenCreatingUsingTheCopyBuilder_thenCreatedProjektMatchesAttributes() { Projekt projekt = DomainFactory.createSampleProjekt(); Projekt copy = Projekt.newBuilder(projekt).build(); Assertions.assertThat(copy). usingRecursiveComparison() .isEqualTo(projekt); }
public static Builder newBuilder() { return new Builder(); }
Projekt { public static Builder newBuilder() { return new Builder(); } }
Projekt { public static Builder newBuilder() { return new Builder(); } protected  Projekt(); private  Projekt(Builder builder); }
Projekt { public static Builder newBuilder() { return new Builder(); } protected  Projekt(); private  Projekt(Builder builder); static Builder newBuilder(); static Builder newBuilder(Projekt copy); @JsonProperty(access = JsonProperty.Access.READ_ONLY) @Transient int getPlaetzeFrei(); @JsonProperty(access = JsonProperty.Access.READ_ONLY) @Transient int getPlaetzeBelegt(); void meldeTeilnehmerAn(Teilnehmer anzumeldenderTeilnehmer); boolean storniereTeilnehmer(Teilnehmer zuStornierenderTeilnehmer); boolean entferneTeilnehmerVonProjekt(Teilnehmer zuEntfernenderTeilnehmer); boolean istTeilnehmerAngemeldet(Teilnehmer teilnehmer); boolean hatProjektFreiePlaetze(); long getId(); boolean isAktiv(); String getName(); LocalDate getDatumBeginn(); LocalDate getDatumEnde(); int getMindestAlter(); int getHoechstAlter(); int getPlaetzeGesamt(); int getPlaetzeReserviert(); String getGruppe(); List<Teilnehmer> getAngemeldeteTeilnehmer(); List<Teilnehmer> getStornierteTeilnehmer(); @Override String toString(); }
Projekt { public static Builder newBuilder() { return new Builder(); } protected  Projekt(); private  Projekt(Builder builder); static Builder newBuilder(); static Builder newBuilder(Projekt copy); @JsonProperty(access = JsonProperty.Access.READ_ONLY) @Transient int getPlaetzeFrei(); @JsonProperty(access = JsonProperty.Access.READ_ONLY) @Transient int getPlaetzeBelegt(); void meldeTeilnehmerAn(Teilnehmer anzumeldenderTeilnehmer); boolean storniereTeilnehmer(Teilnehmer zuStornierenderTeilnehmer); boolean entferneTeilnehmerVonProjekt(Teilnehmer zuEntfernenderTeilnehmer); boolean istTeilnehmerAngemeldet(Teilnehmer teilnehmer); boolean hatProjektFreiePlaetze(); long getId(); boolean isAktiv(); String getName(); LocalDate getDatumBeginn(); LocalDate getDatumEnde(); int getMindestAlter(); int getHoechstAlter(); int getPlaetzeGesamt(); int getPlaetzeReserviert(); String getGruppe(); List<Teilnehmer> getAngemeldeteTeilnehmer(); List<Teilnehmer> getStornierteTeilnehmer(); @Override String toString();  }