{@link AbstractHostAndPortAssert}
to make assertions on actual HostAndPort.
+ * @param actual the HostAndPort we want to make assertions on.
+ */
+ protected AbstractHostAndPortAssert(A actual, Class{@link AbstractInetAddressesAssert}
to make assertions on actual InetAddresses.
+ * @param actual the InetAddresses we want to make assertions on.
+ */
+ protected AbstractInetAddressesAssert(A actual, Class{@link AbstractInternetDomainNameAssert}
to make assertions on actual InternetDomainName.
+ * @param actual the InternetDomainName we want to make assertions on.
+ */
+ protected AbstractInternetDomainNameAssert(A actual, Class{@link HostAndPortAssert}
to make assertions on actual HostAndPort.
+ * @param actual the HostAndPort we want to make assertions on.
+ */
+ public HostAndPortAssert(HostAndPort actual) {
+ super(actual, HostAndPortAssert.class);
+ }
+
+ /**
+ * An entry point for HostAndPortAssert to follow AssertJ standard assertThat()
statements.assertThat(myHostAndPort)
and get specific assertion with code completion.
+ * @param actual the HostAndPort we want to make assertions on.
+ * @return a new {@link HostAndPortAssert}
+ */
+ public static HostAndPortAssert assertThat(HostAndPort actual) {
+ return new HostAndPortAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/com/google/common/net/InetAddressesAssert.java b/assertions-examples/src/test/generated-assertions/com/google/common/net/InetAddressesAssert.java
new file mode 100644
index 00000000..d0f3f5c1
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/com/google/common/net/InetAddressesAssert.java
@@ -0,0 +1,29 @@
+package com.google.common.net;
+
+
+/**
+ * {@link InetAddresses} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractInetAddressesAssert} instead.
+ */
+public class InetAddressesAssert extends AbstractInetAddressesAssert{@link InetAddressesAssert}
to make assertions on actual InetAddresses.
+ * @param actual the InetAddresses we want to make assertions on.
+ */
+ public InetAddressesAssert(InetAddresses actual) {
+ super(actual, InetAddressesAssert.class);
+ }
+
+ /**
+ * An entry point for InetAddressesAssert to follow AssertJ standard assertThat()
statements.assertThat(myInetAddresses)
and get specific assertion with code completion.
+ * @param actual the InetAddresses we want to make assertions on.
+ * @return a new {@link InetAddressesAssert}
+ */
+ public static InetAddressesAssert assertThat(InetAddresses actual) {
+ return new InetAddressesAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/com/google/common/net/InternetDomainNameAssert.java b/assertions-examples/src/test/generated-assertions/com/google/common/net/InternetDomainNameAssert.java
new file mode 100644
index 00000000..04f11249
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/com/google/common/net/InternetDomainNameAssert.java
@@ -0,0 +1,29 @@
+package com.google.common.net;
+
+
+/**
+ * {@link InternetDomainName} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractInternetDomainNameAssert} instead.
+ */
+public class InternetDomainNameAssert extends AbstractInternetDomainNameAssert{@link InternetDomainNameAssert}
to make assertions on actual InternetDomainName.
+ * @param actual the InternetDomainName we want to make assertions on.
+ */
+ public InternetDomainNameAssert(InternetDomainName actual) {
+ super(actual, InternetDomainNameAssert.class);
+ }
+
+ /**
+ * An entry point for InternetDomainNameAssert to follow AssertJ standard assertThat()
statements.assertThat(myInternetDomainName)
and get specific assertion with code completion.
+ * @param actual the InternetDomainName we want to make assertions on.
+ * @return a new {@link InternetDomainNameAssert}
+ */
+ public static InternetDomainNameAssert assertThat(InternetDomainName actual) {
+ return new InternetDomainNameAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/Assertions.java b/assertions-examples/src/test/generated-assertions/org/assertj/Assertions.java
new file mode 100644
index 00000000..57c561b7
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/Assertions.java
@@ -0,0 +1,275 @@
+package org.assertj;
+
+/**
+ * Entry point for assertions of different data types. Each method in this class is a static factory for the
+ * type-specific assertion objects.
+ */
+public class Assertions {
+
+ /**
+ * Creates a new instance of {@link com.google.common.net.HostAndPortAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static com.google.common.net.HostAndPortAssert assertThat(com.google.common.net.HostAndPort actual) {
+ return new com.google.common.net.HostAndPortAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link com.google.common.net.InetAddressesAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static com.google.common.net.InetAddressesAssert assertThat(com.google.common.net.InetAddresses actual) {
+ return new com.google.common.net.InetAddressesAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link com.google.common.net.InternetDomainNameAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static com.google.common.net.InternetDomainNameAssert assertThat(com.google.common.net.InternetDomainName actual) {
+ return new com.google.common.net.InternetDomainNameAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.AlignmentAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.AlignmentAssert assertThat(org.assertj.examples.data.Alignment actual) {
+ return new org.assertj.examples.data.AlignmentAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.BasketBallPlayerAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.BasketBallPlayerAssert assertThat(org.assertj.examples.data.BasketBallPlayer actual) {
+ return new org.assertj.examples.data.BasketBallPlayerAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.BookAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.BookAssert assertThat(org.assertj.examples.data.Book actual) {
+ return new org.assertj.examples.data.BookAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.BookTitleAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.BookTitleAssert assertThat(org.assertj.examples.data.Book.Title actual) {
+ return new org.assertj.examples.data.BookTitleAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.EmployeeAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.EmployeeAssert assertThat(org.assertj.examples.data.Employee actual) {
+ return new org.assertj.examples.data.EmployeeAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.MagicalAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.MagicalAssert assertThat(org.assertj.examples.data.Magical actual) {
+ return new org.assertj.examples.data.MagicalAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.MansionAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.MansionAssert assertThat(org.assertj.examples.data.Mansion actual) {
+ return new org.assertj.examples.data.MansionAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.NameAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.NameAssert assertThat(org.assertj.examples.data.Name actual) {
+ return new org.assertj.examples.data.NameAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.PersonAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.PersonAssert assertThat(org.assertj.examples.data.Person actual) {
+ return new org.assertj.examples.data.PersonAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.RaceAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.RaceAssert assertThat(org.assertj.examples.data.Race actual) {
+ return new org.assertj.examples.data.RaceAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.RingAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.RingAssert assertThat(org.assertj.examples.data.Ring actual) {
+ return new org.assertj.examples.data.RingAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.TeamAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.TeamAssert assertThat(org.assertj.examples.data.Team actual) {
+ return new org.assertj.examples.data.TeamAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.TolkienCharacterAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.TolkienCharacterAssert assertThat(org.assertj.examples.data.TolkienCharacter actual) {
+ return new org.assertj.examples.data.TolkienCharacterAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug18.Dollar$Assert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug18.Dollar$Assert assertThat(org.assertj.examples.data.bug18.Dollar$ actual) {
+ return new org.assertj.examples.data.bug18.Dollar$Assert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug26.WithGenericListTypeAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug26.WithGenericListTypeAssert assertThat(org.assertj.examples.data.bug26.WithGenericListType actual) {
+ return new org.assertj.examples.data.bug26.WithGenericListTypeAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug27.MyIteratorWrapperAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug27.MyIteratorWrapperAssert assertThat(org.assertj.examples.data.bug27.MyIteratorWrapper actual) {
+ return new org.assertj.examples.data.bug27.MyIteratorWrapperAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug27.MyModelClassAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug27.MyModelClassAssert assertThat(org.assertj.examples.data.bug27.MyModelClass actual) {
+ return new org.assertj.examples.data.bug27.MyModelClassAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug27.MyModelClassMyBeanAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug27.MyModelClassMyBeanAssert assertThat(org.assertj.examples.data.bug27.MyModelClass.MyBean actual) {
+ return new org.assertj.examples.data.bug27.MyModelClassMyBeanAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.movie.MovieAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.movie.MovieAssert assertThat(org.assertj.examples.data.movie.Movie actual) {
+ return new org.assertj.examples.data.movie.MovieAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.movie.TeamAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.movie.TeamAssert assertThat(org.assertj.examples.data.movie.Team actual) {
+ return new org.assertj.examples.data.movie.TeamAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.neo4j.DragonBallGraphAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.neo4j.DragonBallGraphAssert assertThat(org.assertj.examples.data.neo4j.DragonBallGraph actual) {
+ return new org.assertj.examples.data.neo4j.DragonBallGraphAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.service.GameServiceAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.service.GameServiceAssert assertThat(org.assertj.examples.data.service.GameService actual) {
+ return new org.assertj.examples.data.service.GameServiceAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.service.TeamManagerAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.service.TeamManagerAssert assertThat(org.assertj.examples.data.service.TeamManager actual) {
+ return new org.assertj.examples.data.service.TeamManagerAssert(actual);
+ }
+
+ /**
+ * Creates a new {@link Assertions}
.
+ */
+ protected Assertions() {
+ // empty
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/BddAssertions.java b/assertions-examples/src/test/generated-assertions/org/assertj/BddAssertions.java
new file mode 100644
index 00000000..01295850
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/BddAssertions.java
@@ -0,0 +1,275 @@
+package org.assertj;
+
+/**
+ * Entry point for BDD assertions of different data types. Each method in this class is a static factory for the
+ * type-specific assertion objects.
+ */
+public class BddAssertions {
+
+ /**
+ * Creates a new instance of {@link com.google.common.net.HostAndPortAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static com.google.common.net.HostAndPortAssert then(com.google.common.net.HostAndPort actual) {
+ return new com.google.common.net.HostAndPortAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link com.google.common.net.InetAddressesAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static com.google.common.net.InetAddressesAssert then(com.google.common.net.InetAddresses actual) {
+ return new com.google.common.net.InetAddressesAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link com.google.common.net.InternetDomainNameAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static com.google.common.net.InternetDomainNameAssert then(com.google.common.net.InternetDomainName actual) {
+ return new com.google.common.net.InternetDomainNameAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.AlignmentAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.AlignmentAssert then(org.assertj.examples.data.Alignment actual) {
+ return new org.assertj.examples.data.AlignmentAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.BasketBallPlayerAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.BasketBallPlayerAssert then(org.assertj.examples.data.BasketBallPlayer actual) {
+ return new org.assertj.examples.data.BasketBallPlayerAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.BookAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.BookAssert then(org.assertj.examples.data.Book actual) {
+ return new org.assertj.examples.data.BookAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.BookTitleAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.BookTitleAssert then(org.assertj.examples.data.Book.Title actual) {
+ return new org.assertj.examples.data.BookTitleAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.EmployeeAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.EmployeeAssert then(org.assertj.examples.data.Employee actual) {
+ return new org.assertj.examples.data.EmployeeAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.MagicalAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.MagicalAssert then(org.assertj.examples.data.Magical actual) {
+ return new org.assertj.examples.data.MagicalAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.MansionAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.MansionAssert then(org.assertj.examples.data.Mansion actual) {
+ return new org.assertj.examples.data.MansionAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.NameAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.NameAssert then(org.assertj.examples.data.Name actual) {
+ return new org.assertj.examples.data.NameAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.PersonAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.PersonAssert then(org.assertj.examples.data.Person actual) {
+ return new org.assertj.examples.data.PersonAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.RaceAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.RaceAssert then(org.assertj.examples.data.Race actual) {
+ return new org.assertj.examples.data.RaceAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.RingAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.RingAssert then(org.assertj.examples.data.Ring actual) {
+ return new org.assertj.examples.data.RingAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.TeamAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.TeamAssert then(org.assertj.examples.data.Team actual) {
+ return new org.assertj.examples.data.TeamAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.TolkienCharacterAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.TolkienCharacterAssert then(org.assertj.examples.data.TolkienCharacter actual) {
+ return new org.assertj.examples.data.TolkienCharacterAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug18.Dollar$Assert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug18.Dollar$Assert then(org.assertj.examples.data.bug18.Dollar$ actual) {
+ return new org.assertj.examples.data.bug18.Dollar$Assert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug26.WithGenericListTypeAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug26.WithGenericListTypeAssert then(org.assertj.examples.data.bug26.WithGenericListType actual) {
+ return new org.assertj.examples.data.bug26.WithGenericListTypeAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug27.MyIteratorWrapperAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug27.MyIteratorWrapperAssert then(org.assertj.examples.data.bug27.MyIteratorWrapper actual) {
+ return new org.assertj.examples.data.bug27.MyIteratorWrapperAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug27.MyModelClassAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug27.MyModelClassAssert then(org.assertj.examples.data.bug27.MyModelClass actual) {
+ return new org.assertj.examples.data.bug27.MyModelClassAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.bug27.MyModelClassMyBeanAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.bug27.MyModelClassMyBeanAssert then(org.assertj.examples.data.bug27.MyModelClass.MyBean actual) {
+ return new org.assertj.examples.data.bug27.MyModelClassMyBeanAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.movie.MovieAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.movie.MovieAssert then(org.assertj.examples.data.movie.Movie actual) {
+ return new org.assertj.examples.data.movie.MovieAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.movie.TeamAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.movie.TeamAssert then(org.assertj.examples.data.movie.Team actual) {
+ return new org.assertj.examples.data.movie.TeamAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.neo4j.DragonBallGraphAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.neo4j.DragonBallGraphAssert then(org.assertj.examples.data.neo4j.DragonBallGraph actual) {
+ return new org.assertj.examples.data.neo4j.DragonBallGraphAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.service.GameServiceAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.service.GameServiceAssert then(org.assertj.examples.data.service.GameService actual) {
+ return new org.assertj.examples.data.service.GameServiceAssert(actual);
+ }
+
+ /**
+ * Creates a new instance of {@link org.assertj.examples.data.service.TeamManagerAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created assertion object.
+ */
+ public static org.assertj.examples.data.service.TeamManagerAssert then(org.assertj.examples.data.service.TeamManager actual) {
+ return new org.assertj.examples.data.service.TeamManagerAssert(actual);
+ }
+
+ /**
+ * Creates a new {@link BddAssertions}
.
+ */
+ protected BddAssertions() {
+ // empty
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/SoftAssertions.java b/assertions-examples/src/test/generated-assertions/org/assertj/SoftAssertions.java
new file mode 100644
index 00000000..d9e95235
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/SoftAssertions.java
@@ -0,0 +1,304 @@
+package org.assertj;
+
+import static org.assertj.core.groups.Properties.extractProperty;
+
+import java.util.List;
+import org.assertj.core.internal.cglib.proxy.Enhancer;
+
+import org.assertj.core.api.ErrorCollector;
+import org.assertj.core.api.SoftAssertionError;
+
+/**
+ * Entry point for assertions of different data types. Each method in this class is a static factory for the
+ * type-specific assertion objects.
+ */
+public class SoftAssertions {
+
+ /** Collects error messages of all AssertionErrors thrown by the proxied method. */
+ protected final ErrorCollector collector = new ErrorCollector();
+
+ /** Creates a new {@link SoftAssertions}. */
+ public SoftAssertions() {
+ }
+
+ /**
+ * Verifies that no proxied assertion methods have failed.
+ *
+ * @throws SoftAssertionError if any proxied assertion objects threw
+ */
+ public void assertAll() {
+ List{@link com.google.common.net.HostAndPortAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public com.google.common.net.HostAndPortAssert assertThat(com.google.common.net.HostAndPort actual) {
+ return proxy(com.google.common.net.HostAndPortAssert.class, com.google.common.net.HostAndPort.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link com.google.common.net.InetAddressesAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public com.google.common.net.InetAddressesAssert assertThat(com.google.common.net.InetAddresses actual) {
+ return proxy(com.google.common.net.InetAddressesAssert.class, com.google.common.net.InetAddresses.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link com.google.common.net.InternetDomainNameAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public com.google.common.net.InternetDomainNameAssert assertThat(com.google.common.net.InternetDomainName actual) {
+ return proxy(com.google.common.net.InternetDomainNameAssert.class, com.google.common.net.InternetDomainName.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.AlignmentAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.AlignmentAssert assertThat(org.assertj.examples.data.Alignment actual) {
+ return proxy(org.assertj.examples.data.AlignmentAssert.class, org.assertj.examples.data.Alignment.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.BasketBallPlayerAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.BasketBallPlayerAssert assertThat(org.assertj.examples.data.BasketBallPlayer actual) {
+ return proxy(org.assertj.examples.data.BasketBallPlayerAssert.class, org.assertj.examples.data.BasketBallPlayer.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.BookAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.BookAssert assertThat(org.assertj.examples.data.Book actual) {
+ return proxy(org.assertj.examples.data.BookAssert.class, org.assertj.examples.data.Book.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.BookTitleAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.BookTitleAssert assertThat(org.assertj.examples.data.Book.Title actual) {
+ return proxy(org.assertj.examples.data.BookTitleAssert.class, org.assertj.examples.data.Book.Title.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.EmployeeAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.EmployeeAssert assertThat(org.assertj.examples.data.Employee actual) {
+ return proxy(org.assertj.examples.data.EmployeeAssert.class, org.assertj.examples.data.Employee.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.MagicalAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.MagicalAssert assertThat(org.assertj.examples.data.Magical actual) {
+ return proxy(org.assertj.examples.data.MagicalAssert.class, org.assertj.examples.data.Magical.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.MansionAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.MansionAssert assertThat(org.assertj.examples.data.Mansion actual) {
+ return proxy(org.assertj.examples.data.MansionAssert.class, org.assertj.examples.data.Mansion.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.NameAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.NameAssert assertThat(org.assertj.examples.data.Name actual) {
+ return proxy(org.assertj.examples.data.NameAssert.class, org.assertj.examples.data.Name.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.PersonAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.PersonAssert assertThat(org.assertj.examples.data.Person actual) {
+ return proxy(org.assertj.examples.data.PersonAssert.class, org.assertj.examples.data.Person.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.RaceAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.RaceAssert assertThat(org.assertj.examples.data.Race actual) {
+ return proxy(org.assertj.examples.data.RaceAssert.class, org.assertj.examples.data.Race.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.RingAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.RingAssert assertThat(org.assertj.examples.data.Ring actual) {
+ return proxy(org.assertj.examples.data.RingAssert.class, org.assertj.examples.data.Ring.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.TeamAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.TeamAssert assertThat(org.assertj.examples.data.Team actual) {
+ return proxy(org.assertj.examples.data.TeamAssert.class, org.assertj.examples.data.Team.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.TolkienCharacterAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.TolkienCharacterAssert assertThat(org.assertj.examples.data.TolkienCharacter actual) {
+ return proxy(org.assertj.examples.data.TolkienCharacterAssert.class, org.assertj.examples.data.TolkienCharacter.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.bug18.Dollar$Assert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.bug18.Dollar$Assert assertThat(org.assertj.examples.data.bug18.Dollar$ actual) {
+ return proxy(org.assertj.examples.data.bug18.Dollar$Assert.class, org.assertj.examples.data.bug18.Dollar$.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.bug26.WithGenericListTypeAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.bug26.WithGenericListTypeAssert assertThat(org.assertj.examples.data.bug26.WithGenericListType actual) {
+ return proxy(org.assertj.examples.data.bug26.WithGenericListTypeAssert.class, org.assertj.examples.data.bug26.WithGenericListType.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.bug27.MyIteratorWrapperAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.bug27.MyIteratorWrapperAssert assertThat(org.assertj.examples.data.bug27.MyIteratorWrapper actual) {
+ return proxy(org.assertj.examples.data.bug27.MyIteratorWrapperAssert.class, org.assertj.examples.data.bug27.MyIteratorWrapper.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.bug27.MyModelClassAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.bug27.MyModelClassAssert assertThat(org.assertj.examples.data.bug27.MyModelClass actual) {
+ return proxy(org.assertj.examples.data.bug27.MyModelClassAssert.class, org.assertj.examples.data.bug27.MyModelClass.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.bug27.MyModelClassMyBeanAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.bug27.MyModelClassMyBeanAssert assertThat(org.assertj.examples.data.bug27.MyModelClass.MyBean actual) {
+ return proxy(org.assertj.examples.data.bug27.MyModelClassMyBeanAssert.class, org.assertj.examples.data.bug27.MyModelClass.MyBean.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.movie.MovieAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.movie.MovieAssert assertThat(org.assertj.examples.data.movie.Movie actual) {
+ return proxy(org.assertj.examples.data.movie.MovieAssert.class, org.assertj.examples.data.movie.Movie.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.movie.TeamAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.movie.TeamAssert assertThat(org.assertj.examples.data.movie.Team actual) {
+ return proxy(org.assertj.examples.data.movie.TeamAssert.class, org.assertj.examples.data.movie.Team.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.neo4j.DragonBallGraphAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.neo4j.DragonBallGraphAssert assertThat(org.assertj.examples.data.neo4j.DragonBallGraph actual) {
+ return proxy(org.assertj.examples.data.neo4j.DragonBallGraphAssert.class, org.assertj.examples.data.neo4j.DragonBallGraph.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.service.GameServiceAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.service.GameServiceAssert assertThat(org.assertj.examples.data.service.GameService actual) {
+ return proxy(org.assertj.examples.data.service.GameServiceAssert.class, org.assertj.examples.data.service.GameService.class, actual);
+ }
+
+ /**
+ * Creates a new "soft" instance of {@link org.assertj.examples.data.service.TeamManagerAssert}
.
+ *
+ * @param actual the actual value.
+ * @return the created "soft" assertion object.
+ */
+ public org.assertj.examples.data.service.TeamManagerAssert assertThat(org.assertj.examples.data.service.TeamManager actual) {
+ return proxy(org.assertj.examples.data.service.TeamManagerAssert.class, org.assertj.examples.data.service.TeamManager.class, actual);
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractAlignmentAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractAlignmentAssert.java
new file mode 100644
index 00000000..01fe0149
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractAlignmentAssert.java
@@ -0,0 +1,19 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Alignment} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractAlignmentAssert{@link AbstractAlignmentAssert}
to make assertions on actual Alignment.
+ * @param actual the Alignment we want to make assertions on.
+ */
+ protected AbstractAlignmentAssert(A actual, Class{@link AbstractBasketBallPlayerAssert}
to make assertions on actual BasketBallPlayer.
+ * @param actual the BasketBallPlayer we want to make assertions on.
+ */
+ protected AbstractBasketBallPlayerAssert(A actual, Class+ * If difference is equal to the offset value, assertion is considered successful. + * @param weight the value to compare the actual BasketBallPlayer's weight to. + * @param offset the given offset. + * @return this assertion object. + * @throws AssertionError - if the actual BasketBallPlayer's weight is not close enough to the given value. + */ + public S hasWeight(float weight, float offset) { + // check that actual BasketBallPlayer we want to make assertions on is not null. + isNotNull(); + + float actualWeight = actual.getWeight(); + + // overrides the default error message with a more explicit one + String assertjErrorMessage = String.format("\nExpected weight:\n <%s>\nto be close to:\n <%s>\nby less than <%s> but difference was <%s>", + actualWeight, weight, offset, Math.abs(weight - actualWeight)); + + // check + Assertions.assertThat(actualWeight).overridingErrorMessage(assertjErrorMessage).isCloseTo(weight, Assertions.within(offset)); + + // return the current assertion for method chaining + return myself; + } + + /** + * Verifies that the actual BasketBallPlayer's size is close to the given value by less than the given offset. + *
+ * If difference is equal to the offset value, assertion is considered successful.
+ * @param size the value to compare the actual BasketBallPlayer's size to.
+ * @param offset the given offset.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual BasketBallPlayer's size is not close enough to the given value.
+ */
+ public S hasSize(double size, double offset) {
+ // check that actual BasketBallPlayer we want to make assertions on is not null.
+ isNotNull();
+
+ double actualSize = actual.size;
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = String.format("\nExpected size:\n <%s>\nto be close to:\n <%s>\nby less than <%s> but difference was <%s>",
+ actualSize, size, offset, Math.abs(size - actualSize));
+
+ // check
+ Assertions.assertThat(actualSize).overridingErrorMessage(assertjErrorMessage).isCloseTo(size, Assertions.within(offset));
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractBookAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractBookAssert.java
new file mode 100644
index 00000000..2aba0c27
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractBookAssert.java
@@ -0,0 +1,42 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Book} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractBookAssert, A extends Book> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractBookAssert}
to make assertions on actual Book.
+ * @param actual the Book we want to make assertions on.
+ */
+ protected AbstractBookAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Book's title is equal to the given one.
+ * @param title the given title to compare the actual Book's title to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Book's title is not equal to the given one.
+ */
+ public S hasTitle(Book.Title title) {
+ // check that actual Book we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected title of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ Book.Title actualTitle = actual.getTitle();
+ if (!org.assertj.core.util.Objects.areEqual(actualTitle, title)) {
+ failWithMessage(assertjErrorMessage, actual, title, actualTitle);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractBookTitleAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractBookTitleAssert.java
new file mode 100644
index 00000000..5f814957
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractBookTitleAssert.java
@@ -0,0 +1,42 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Book.Title} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractBookTitleAssert, A extends Book.Title> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractBookTitleAssert}
to make assertions on actual Book.Title.
+ * @param actual the Book.Title we want to make assertions on.
+ */
+ protected AbstractBookTitleAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Book.Title's title is equal to the given one.
+ * @param title the given title to compare the actual Book.Title's title to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Book.Title's title is not equal to the given one.
+ */
+ public S hasTitle(String title) {
+ // check that actual Book.Title we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected title of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualTitle = actual.getTitle();
+ if (!org.assertj.core.util.Objects.areEqual(actualTitle, title)) {
+ failWithMessage(assertjErrorMessage, actual, title, actualTitle);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractEmployeeAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractEmployeeAssert.java
new file mode 100644
index 00000000..999fbfea
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractEmployeeAssert.java
@@ -0,0 +1,41 @@
+package org.assertj.examples.data;
+
+
+
+/**
+ * Abstract base class for {@link Employee} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractEmployeeAssert, A extends Employee> extends AbstractPersonAssert {
+
+ /**
+ * Creates a new {@link AbstractEmployeeAssert}
to make assertions on actual Employee.
+ * @param actual the Employee we want to make assertions on.
+ */
+ protected AbstractEmployeeAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Employee's company is equal to the given one.
+ * @param company the given company to compare the actual Employee's company to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Employee's company is not equal to the given one.
+ */
+ public S hasCompany(String company) {
+ // check that actual Employee we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected company of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualCompany = actual.getCompany();
+ if (!org.assertj.core.util.Objects.areEqual(actualCompany, company)) {
+ failWithMessage(assertjErrorMessage, actual, company, actualCompany);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractEmployeeTitleAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractEmployeeTitleAssert.java
new file mode 100644
index 00000000..f369f99e
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractEmployeeTitleAssert.java
@@ -0,0 +1,42 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Employee.Title} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractEmployeeTitleAssert, A extends Employee.Title> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractEmployeeTitleAssert}
to make assertions on actual Employee.Title.
+ * @param actual the Employee.Title we want to make assertions on.
+ */
+ protected AbstractEmployeeTitleAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Employee.Title's position is equal to the given one.
+ * @param position the given position to compare the actual Employee.Title's position to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Employee.Title's position is not equal to the given one.
+ */
+ public S hasPosition(String position) {
+ // check that actual Employee.Title we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected position of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualPosition = actual.getPosition();
+ if (!org.assertj.core.util.Objects.areEqual(actualPosition, position)) {
+ failWithMessage(assertjErrorMessage, actual, position, actualPosition);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractMagicalAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractMagicalAssert.java
new file mode 100644
index 00000000..214b072d
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractMagicalAssert.java
@@ -0,0 +1,19 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Magical} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractMagicalAssert, A extends Magical> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractMagicalAssert}
to make assertions on actual Magical.
+ * @param actual the Magical we want to make assertions on.
+ */
+ protected AbstractMagicalAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractMansionAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractMansionAssert.java
new file mode 100644
index 00000000..df7aaa95
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractMansionAssert.java
@@ -0,0 +1,19 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Mansion} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractMansionAssert, A extends Mansion> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractMansionAssert}
to make assertions on actual Mansion.
+ * @param actual the Mansion we want to make assertions on.
+ */
+ protected AbstractMansionAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractNameAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractNameAssert.java
new file mode 100644
index 00000000..5c77f5a2
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractNameAssert.java
@@ -0,0 +1,65 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Name} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractNameAssert, A extends Name> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractNameAssert}
to make assertions on actual Name.
+ * @param actual the Name we want to make assertions on.
+ */
+ protected AbstractNameAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Name's first is equal to the given one.
+ * @param first the given first to compare the actual Name's first to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Name's first is not equal to the given one.
+ */
+ public S hasFirst(String first) {
+ // check that actual Name we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected first of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualFirst = actual.getFirst();
+ if (!org.assertj.core.util.Objects.areEqual(actualFirst, first)) {
+ failWithMessage(assertjErrorMessage, actual, first, actualFirst);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual Name's last is equal to the given one.
+ * @param last the given last to compare the actual Name's last to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Name's last is not equal to the given one.
+ */
+ public S hasLast(String last) {
+ // check that actual Name we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected last of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualLast = actual.getLast();
+ if (!org.assertj.core.util.Objects.areEqual(actualLast, last)) {
+ failWithMessage(assertjErrorMessage, actual, last, actualLast);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractPersonAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractPersonAssert.java
new file mode 100644
index 00000000..c44c928f
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractPersonAssert.java
@@ -0,0 +1,65 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Person} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractPersonAssert, A extends Person> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractPersonAssert}
to make assertions on actual Person.
+ * @param actual the Person we want to make assertions on.
+ */
+ protected AbstractPersonAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Person's age is equal to the given one.
+ * @param age the given age to compare the actual Person's age to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Person's age is not equal to the given one.
+ */
+ public S hasAge(int age) {
+ // check that actual Person we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected age of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // check
+ int actualAge = actual.getAge();
+ if (actualAge != age) {
+ failWithMessage(assertjErrorMessage, actual, age, actualAge);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual Person's name is equal to the given one.
+ * @param name the given name to compare the actual Person's name to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Person's name is not equal to the given one.
+ */
+ public S hasName(String name) {
+ // check that actual Person we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected name of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualName = actual.getName();
+ if (!org.assertj.core.util.Objects.areEqual(actualName, name)) {
+ failWithMessage(assertjErrorMessage, actual, name, actualName);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractRaceAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractRaceAssert.java
new file mode 100644
index 00000000..ee8a23f6
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractRaceAssert.java
@@ -0,0 +1,101 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Race} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractRaceAssert, A extends Race> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractRaceAssert}
to make assertions on actual Race.
+ * @param actual the Race we want to make assertions on.
+ */
+ protected AbstractRaceAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Race's alignment is equal to the given one.
+ * @param alignment the given alignment to compare the actual Race's alignment to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Race's alignment is not equal to the given one.
+ */
+ public S hasAlignment(Alignment alignment) {
+ // check that actual Race we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected alignment of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ Alignment actualAlignment = actual.getAlignment();
+ if (!org.assertj.core.util.Objects.areEqual(actualAlignment, alignment)) {
+ failWithMessage(assertjErrorMessage, actual, alignment, actualAlignment);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual Race's name is equal to the given one.
+ * @param name the given name to compare the actual Race's name to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Race's name is not equal to the given one.
+ */
+ public S hasName(String name) {
+ // check that actual Race we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected name of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualName = actual.getName();
+ if (!org.assertj.core.util.Objects.areEqual(actualName, name)) {
+ failWithMessage(assertjErrorMessage, actual, name, actualName);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual Race is immortal.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Race is not immortal.
+ */
+ public S isImmortal() {
+ // check that actual Race we want to make assertions on is not null.
+ isNotNull();
+
+ // check
+ if (!actual.immortal) {
+ failWithMessage("\nExpected actual Race to be immortal but was not.");
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual Race is not immortal.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Race is immortal.
+ */
+ public S isNotImmortal() {
+ // check that actual Race we want to make assertions on is not null.
+ isNotNull();
+
+ // check
+ if (actual.immortal) {
+ failWithMessage("\nExpected actual Race not to be immortal but was.");
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractRingAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractRingAssert.java
new file mode 100644
index 00000000..48fea9aa
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractRingAssert.java
@@ -0,0 +1,19 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Ring} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractRingAssert, A extends Ring> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractRingAssert}
to make assertions on actual Ring.
+ * @param actual the Ring we want to make assertions on.
+ */
+ protected AbstractRingAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractTeamAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractTeamAssert.java
new file mode 100644
index 00000000..d0febf00
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractTeamAssert.java
@@ -0,0 +1,61 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Team} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractTeamAssert, A extends Team> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractTeamAssert}
to make assertions on actual Team.
+ * @param actual the Team we want to make assertions on.
+ */
+ protected AbstractTeamAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Team's players contains the given BasketBallPlayer elements.
+ * @param players the given elements that should be contained in actual Team's players.
+ * @return this assertion object.
+ * @throws AssertionError if the actual Team's players does not contain all given BasketBallPlayer elements.
+ */
+ public S hasPlayers(BasketBallPlayer... players) {
+ // check that actual Team we want to make assertions on is not null.
+ isNotNull();
+
+ // check that given BasketBallPlayer varargs is not null.
+ if (players == null) throw new AssertionError("Expecting players parameter not to be null.");
+
+ // check with standard error message, to set another message call: info.overridingErrorMessage("my error message");
+ org.assertj.core.internal.Iterables.instance().assertContains(info, actual.getPlayers(), players);
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual Team has no players.
+ * @return this assertion object.
+ * @throws AssertionError if the actual Team's players is not empty.
+ */
+ public S hasNoPlayers() {
+ // check that actual Team we want to make assertions on is not null.
+ isNotNull();
+
+ // we override the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected :\n <%s>\nnot to have players but had :\n <%s>";
+
+ // check
+ if (actual.getPlayers().iterator().hasNext()) {
+ failWithMessage(assertjErrorMessage, actual, actual.getPlayers());
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractTolkienCharacterAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractTolkienCharacterAssert.java
new file mode 100644
index 00000000..cd79e2c8
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AbstractTolkienCharacterAssert.java
@@ -0,0 +1,88 @@
+package org.assertj.examples.data;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link TolkienCharacter} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractTolkienCharacterAssert, A extends TolkienCharacter> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractTolkienCharacterAssert}
to make assertions on actual TolkienCharacter.
+ * @param actual the TolkienCharacter we want to make assertions on.
+ */
+ protected AbstractTolkienCharacterAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual TolkienCharacter's name is equal to the given one.
+ * @param name the given name to compare the actual TolkienCharacter's name to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual TolkienCharacter's name is not equal to the given one.
+ */
+ public S hasName(String name) {
+ // check that actual TolkienCharacter we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected name of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualName = actual.getName();
+ if (!org.assertj.core.util.Objects.areEqual(actualName, name)) {
+ failWithMessage(assertjErrorMessage, actual, name, actualName);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual TolkienCharacter's race is equal to the given one.
+ * @param race the given race to compare the actual TolkienCharacter's race to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual TolkienCharacter's race is not equal to the given one.
+ */
+ public S hasRace(Race race) {
+ // check that actual TolkienCharacter we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected race of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ Race actualRace = actual.getRace();
+ if (!org.assertj.core.util.Objects.areEqual(actualRace, race)) {
+ failWithMessage(assertjErrorMessage, actual, race, actualRace);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual TolkienCharacter's age is equal to the given one.
+ * @param age the given age to compare the actual TolkienCharacter's age to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual TolkienCharacter's age is not equal to the given one.
+ */
+ public S hasAge(int age) {
+ // check that actual TolkienCharacter we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected age of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // check
+ int actualAge = actual.age;
+ if (actualAge != age) {
+ failWithMessage(assertjErrorMessage, actual, age, actualAge);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AlignmentAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AlignmentAssert.java
new file mode 100644
index 00000000..9b6b0ed5
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/AlignmentAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Alignment} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractAlignmentAssert} instead.
+ */
+public class AlignmentAssert extends AbstractAlignmentAssert{@link AlignmentAssert}
to make assertions on actual Alignment.
+ * @param actual the Alignment we want to make assertions on.
+ */
+ public AlignmentAssert(Alignment actual) {
+ super(actual, AlignmentAssert.class);
+ }
+
+ /**
+ * An entry point for AlignmentAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myAlignment)
and get specific assertion with code completion.
+ * @param actual the Alignment we want to make assertions on.
+ * @return a new {@link AlignmentAssert}
+ */
+ public static AlignmentAssert assertThat(Alignment actual) {
+ return new AlignmentAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/BasketBallPlayerAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/BasketBallPlayerAssert.java
new file mode 100644
index 00000000..97503e43
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/BasketBallPlayerAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link BasketBallPlayer} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractBasketBallPlayerAssert} instead.
+ */
+public class BasketBallPlayerAssert extends AbstractBasketBallPlayerAssert{@link BasketBallPlayerAssert}
to make assertions on actual BasketBallPlayer.
+ * @param actual the BasketBallPlayer we want to make assertions on.
+ */
+ public BasketBallPlayerAssert(BasketBallPlayer actual) {
+ super(actual, BasketBallPlayerAssert.class);
+ }
+
+ /**
+ * An entry point for BasketBallPlayerAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myBasketBallPlayer)
and get specific assertion with code completion.
+ * @param actual the BasketBallPlayer we want to make assertions on.
+ * @return a new {@link BasketBallPlayerAssert}
+ */
+ public static BasketBallPlayerAssert assertThat(BasketBallPlayer actual) {
+ return new BasketBallPlayerAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/BookAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/BookAssert.java
new file mode 100644
index 00000000..3885d986
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/BookAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Book} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractBookAssert} instead.
+ */
+public class BookAssert extends AbstractBookAssert{@link BookAssert}
to make assertions on actual Book.
+ * @param actual the Book we want to make assertions on.
+ */
+ public BookAssert(Book actual) {
+ super(actual, BookAssert.class);
+ }
+
+ /**
+ * An entry point for BookAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myBook)
and get specific assertion with code completion.
+ * @param actual the Book we want to make assertions on.
+ * @return a new {@link BookAssert}
+ */
+ public static BookAssert assertThat(Book actual) {
+ return new BookAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/BookTitleAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/BookTitleAssert.java
new file mode 100644
index 00000000..6db9c10b
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/BookTitleAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Book.Title} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractBookTitleAssert} instead.
+ */
+public class BookTitleAssert extends AbstractBookTitleAssert{@link BookTitleAssert}
to make assertions on actual Book.Title.
+ * @param actual the Book.Title we want to make assertions on.
+ */
+ public BookTitleAssert(Book.Title actual) {
+ super(actual, BookTitleAssert.class);
+ }
+
+ /**
+ * An entry point for BookTitleAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myBook.Title)
and get specific assertion with code completion.
+ * @param actual the Book.Title we want to make assertions on.
+ * @return a new {@link BookTitleAssert}
+ */
+ public static BookTitleAssert assertThat(Book.Title actual) {
+ return new BookTitleAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/EmployeeAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/EmployeeAssert.java
new file mode 100644
index 00000000..84ee6b12
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/EmployeeAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Employee} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractEmployeeAssert} instead.
+ */
+public class EmployeeAssert extends AbstractEmployeeAssert{@link EmployeeAssert}
to make assertions on actual Employee.
+ * @param actual the Employee we want to make assertions on.
+ */
+ public EmployeeAssert(Employee actual) {
+ super(actual, EmployeeAssert.class);
+ }
+
+ /**
+ * An entry point for EmployeeAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myEmployee)
and get specific assertion with code completion.
+ * @param actual the Employee we want to make assertions on.
+ * @return a new {@link EmployeeAssert}
+ */
+ public static EmployeeAssert assertThat(Employee actual) {
+ return new EmployeeAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/EmployeeTitleAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/EmployeeTitleAssert.java
new file mode 100644
index 00000000..93d14887
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/EmployeeTitleAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Employee.Title} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractEmployeeTitleAssert} instead.
+ */
+public class EmployeeTitleAssert extends AbstractEmployeeTitleAssert{@link EmployeeTitleAssert}
to make assertions on actual Employee.Title.
+ * @param actual the Employee.Title we want to make assertions on.
+ */
+ public EmployeeTitleAssert(Employee.Title actual) {
+ super(actual, EmployeeTitleAssert.class);
+ }
+
+ /**
+ * An entry point for EmployeeTitleAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myEmployee.Title)
and get specific assertion with code completion.
+ * @param actual the Employee.Title we want to make assertions on.
+ * @return a new {@link EmployeeTitleAssert}
+ */
+ public static EmployeeTitleAssert assertThat(Employee.Title actual) {
+ return new EmployeeTitleAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/MagicalAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/MagicalAssert.java
new file mode 100644
index 00000000..61c97355
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/MagicalAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Magical} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractMagicalAssert} instead.
+ */
+public class MagicalAssert extends AbstractMagicalAssert{@link MagicalAssert}
to make assertions on actual Magical.
+ * @param actual the Magical we want to make assertions on.
+ */
+ public MagicalAssert(Magical actual) {
+ super(actual, MagicalAssert.class);
+ }
+
+ /**
+ * An entry point for MagicalAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myMagical)
and get specific assertion with code completion.
+ * @param actual the Magical we want to make assertions on.
+ * @return a new {@link MagicalAssert}
+ */
+ public static MagicalAssert assertThat(Magical actual) {
+ return new MagicalAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/MansionAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/MansionAssert.java
new file mode 100644
index 00000000..e119a573
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/MansionAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Mansion} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractMansionAssert} instead.
+ */
+public class MansionAssert extends AbstractMansionAssert{@link MansionAssert}
to make assertions on actual Mansion.
+ * @param actual the Mansion we want to make assertions on.
+ */
+ public MansionAssert(Mansion actual) {
+ super(actual, MansionAssert.class);
+ }
+
+ /**
+ * An entry point for MansionAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myMansion)
and get specific assertion with code completion.
+ * @param actual the Mansion we want to make assertions on.
+ * @return a new {@link MansionAssert}
+ */
+ public static MansionAssert assertThat(Mansion actual) {
+ return new MansionAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/NameAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/NameAssert.java
new file mode 100644
index 00000000..95d9c4c3
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/NameAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Name} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractNameAssert} instead.
+ */
+public class NameAssert extends AbstractNameAssert{@link NameAssert}
to make assertions on actual Name.
+ * @param actual the Name we want to make assertions on.
+ */
+ public NameAssert(Name actual) {
+ super(actual, NameAssert.class);
+ }
+
+ /**
+ * An entry point for NameAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myName)
and get specific assertion with code completion.
+ * @param actual the Name we want to make assertions on.
+ * @return a new {@link NameAssert}
+ */
+ public static NameAssert assertThat(Name actual) {
+ return new NameAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/PersonAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/PersonAssert.java
new file mode 100644
index 00000000..8a3df173
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/PersonAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Person} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractPersonAssert} instead.
+ */
+public class PersonAssert extends AbstractPersonAssert{@link PersonAssert}
to make assertions on actual Person.
+ * @param actual the Person we want to make assertions on.
+ */
+ public PersonAssert(Person actual) {
+ super(actual, PersonAssert.class);
+ }
+
+ /**
+ * An entry point for PersonAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myPerson)
and get specific assertion with code completion.
+ * @param actual the Person we want to make assertions on.
+ * @return a new {@link PersonAssert}
+ */
+ public static PersonAssert assertThat(Person actual) {
+ return new PersonAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/RaceAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/RaceAssert.java
new file mode 100644
index 00000000..44e3a154
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/RaceAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Race} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractRaceAssert} instead.
+ */
+public class RaceAssert extends AbstractRaceAssert{@link RaceAssert}
to make assertions on actual Race.
+ * @param actual the Race we want to make assertions on.
+ */
+ public RaceAssert(Race actual) {
+ super(actual, RaceAssert.class);
+ }
+
+ /**
+ * An entry point for RaceAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myRace)
and get specific assertion with code completion.
+ * @param actual the Race we want to make assertions on.
+ * @return a new {@link RaceAssert}
+ */
+ public static RaceAssert assertThat(Race actual) {
+ return new RaceAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/RingAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/RingAssert.java
new file mode 100644
index 00000000..c83acf3b
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/RingAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Ring} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractRingAssert} instead.
+ */
+public class RingAssert extends AbstractRingAssert{@link RingAssert}
to make assertions on actual Ring.
+ * @param actual the Ring we want to make assertions on.
+ */
+ public RingAssert(Ring actual) {
+ super(actual, RingAssert.class);
+ }
+
+ /**
+ * An entry point for RingAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myRing)
and get specific assertion with code completion.
+ * @param actual the Ring we want to make assertions on.
+ * @return a new {@link RingAssert}
+ */
+ public static RingAssert assertThat(Ring actual) {
+ return new RingAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/TeamAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/TeamAssert.java
new file mode 100644
index 00000000..249876be
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/TeamAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link Team} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractTeamAssert} instead.
+ */
+public class TeamAssert extends AbstractTeamAssert{@link TeamAssert}
to make assertions on actual Team.
+ * @param actual the Team we want to make assertions on.
+ */
+ public TeamAssert(Team actual) {
+ super(actual, TeamAssert.class);
+ }
+
+ /**
+ * An entry point for TeamAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myTeam)
and get specific assertion with code completion.
+ * @param actual the Team we want to make assertions on.
+ * @return a new {@link TeamAssert}
+ */
+ public static TeamAssert assertThat(Team actual) {
+ return new TeamAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/TolkienCharacterAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/TolkienCharacterAssert.java
new file mode 100644
index 00000000..57022725
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/TolkienCharacterAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data;
+
+
+/**
+ * {@link TolkienCharacter} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractTolkienCharacterAssert} instead.
+ */
+public class TolkienCharacterAssert extends AbstractTolkienCharacterAssert{@link TolkienCharacterAssert}
to make assertions on actual TolkienCharacter.
+ * @param actual the TolkienCharacter we want to make assertions on.
+ */
+ public TolkienCharacterAssert(TolkienCharacter actual) {
+ super(actual, TolkienCharacterAssert.class);
+ }
+
+ /**
+ * An entry point for TolkienCharacterAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myTolkienCharacter)
and get specific assertion with code completion.
+ * @param actual the TolkienCharacter we want to make assertions on.
+ * @return a new {@link TolkienCharacterAssert}
+ */
+ public static TolkienCharacterAssert assertThat(TolkienCharacter actual) {
+ return new TolkienCharacterAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug18/AbstractDollar$Assert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug18/AbstractDollar$Assert.java
new file mode 100644
index 00000000..a5bcb9b5
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug18/AbstractDollar$Assert.java
@@ -0,0 +1,42 @@
+package org.assertj.examples.data.bug18;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Dollar$} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractDollar$Assert, A extends Dollar$> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractDollar$Assert}
to make assertions on actual Dollar$.
+ * @param actual the Dollar$ we want to make assertions on.
+ */
+ protected AbstractDollar$Assert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Dollar$'s test is equal to the given one.
+ * @param test the given test to compare the actual Dollar$'s test to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Dollar$'s test is not equal to the given one.
+ */
+ public S hasTest(String test) {
+ // check that actual Dollar$ we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected test of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualTest = actual.test;
+ if (!org.assertj.core.util.Objects.areEqual(actualTest, test)) {
+ failWithMessage(assertjErrorMessage, actual, test, actualTest);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug18/Dollar$Assert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug18/Dollar$Assert.java
new file mode 100644
index 00000000..1fa24cb0
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug18/Dollar$Assert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.bug18;
+
+
+/**
+ * {@link Dollar$} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractDollar$Assert} instead.
+ */
+public class Dollar$Assert extends AbstractDollar$Assert{@link Dollar$Assert}
to make assertions on actual Dollar$.
+ * @param actual the Dollar$ we want to make assertions on.
+ */
+ public Dollar$Assert(Dollar$ actual) {
+ super(actual, Dollar$Assert.class);
+ }
+
+ /**
+ * An entry point for Dollar$Assert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myDollar$)
and get specific assertion with code completion.
+ * @param actual the Dollar$ we want to make assertions on.
+ * @return a new {@link Dollar$Assert}
+ */
+ public static Dollar$Assert assertThat(Dollar$ actual) {
+ return new Dollar$Assert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug26/AbstractWithGenericListTypeAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug26/AbstractWithGenericListTypeAssert.java
new file mode 100644
index 00000000..c5d56482
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug26/AbstractWithGenericListTypeAssert.java
@@ -0,0 +1,62 @@
+package org.assertj.examples.data.bug26;
+
+import org.assertj.core.api.AbstractAssert;
+import org.assertj.examples.data.movie.Movie;
+
+
+/**
+ * Abstract base class for {@link WithGenericListType} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractWithGenericListTypeAssert, A extends WithGenericListType> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractWithGenericListTypeAssert}
to make assertions on actual WithGenericListType.
+ * @param actual the WithGenericListType we want to make assertions on.
+ */
+ protected AbstractWithGenericListTypeAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual WithGenericListType's movies contains the given Movie elements.
+ * @param movies the given elements that should be contained in actual WithGenericListType's movies.
+ * @return this assertion object.
+ * @throws AssertionError if the actual WithGenericListType's movies does not contain all given Movie elements.
+ */
+ public S hasMovies(Movie... movies) {
+ // check that actual WithGenericListType we want to make assertions on is not null.
+ isNotNull();
+
+ // check that given Movie varargs is not null.
+ if (movies == null) throw new AssertionError("Expecting movies parameter not to be null.");
+
+ // check with standard error message, to set another message call: info.overridingErrorMessage("my error message");
+ org.assertj.core.internal.Iterables.instance().assertContains(info, actual.movies, movies);
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual WithGenericListType has no movies.
+ * @return this assertion object.
+ * @throws AssertionError if the actual WithGenericListType's movies is not empty.
+ */
+ public S hasNoMovies() {
+ // check that actual WithGenericListType we want to make assertions on is not null.
+ isNotNull();
+
+ // we override the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected :\n <%s>\nnot to have movies but had :\n <%s>";
+
+ // check
+ if (actual.movies.iterator().hasNext()) {
+ failWithMessage(assertjErrorMessage, actual, actual.movies);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug26/WithGenericListTypeAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug26/WithGenericListTypeAssert.java
new file mode 100644
index 00000000..473d2133
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug26/WithGenericListTypeAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.bug26;
+
+
+/**
+ * {@link WithGenericListType} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractWithGenericListTypeAssert} instead.
+ */
+public class WithGenericListTypeAssert extends AbstractWithGenericListTypeAssert{@link WithGenericListTypeAssert}
to make assertions on actual WithGenericListType.
+ * @param actual the WithGenericListType we want to make assertions on.
+ */
+ public WithGenericListTypeAssert(WithGenericListType actual) {
+ super(actual, WithGenericListTypeAssert.class);
+ }
+
+ /**
+ * An entry point for WithGenericListTypeAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myWithGenericListType)
and get specific assertion with code completion.
+ * @param actual the WithGenericListType we want to make assertions on.
+ * @return a new {@link WithGenericListTypeAssert}
+ */
+ public static WithGenericListTypeAssert assertThat(WithGenericListType actual) {
+ return new WithGenericListTypeAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/AbstractMyIteratorWrapperAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/AbstractMyIteratorWrapperAssert.java
new file mode 100644
index 00000000..a88dad8a
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/AbstractMyIteratorWrapperAssert.java
@@ -0,0 +1,19 @@
+package org.assertj.examples.data.bug27;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link MyIteratorWrapper} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractMyIteratorWrapperAssert, A extends MyIteratorWrapper> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractMyIteratorWrapperAssert}
to make assertions on actual MyIteratorWrapper.
+ * @param actual the MyIteratorWrapper we want to make assertions on.
+ */
+ protected AbstractMyIteratorWrapperAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/AbstractMyModelClassAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/AbstractMyModelClassAssert.java
new file mode 100644
index 00000000..30a223ee
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/AbstractMyModelClassAssert.java
@@ -0,0 +1,19 @@
+package org.assertj.examples.data.bug27;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link MyModelClass} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractMyModelClassAssert, A extends MyModelClass> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractMyModelClassAssert}
to make assertions on actual MyModelClass.
+ * @param actual the MyModelClass we want to make assertions on.
+ */
+ protected AbstractMyModelClassAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/AbstractMyModelClassMyBeanAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/AbstractMyModelClassMyBeanAssert.java
new file mode 100644
index 00000000..bf36762f
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/AbstractMyModelClassMyBeanAssert.java
@@ -0,0 +1,19 @@
+package org.assertj.examples.data.bug27;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link MyModelClass.MyBean} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractMyModelClassMyBeanAssert, A extends MyModelClass.MyBean> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractMyModelClassMyBeanAssert}
to make assertions on actual MyModelClass.MyBean.
+ * @param actual the MyModelClass.MyBean we want to make assertions on.
+ */
+ protected AbstractMyModelClassMyBeanAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/MyIteratorWrapperAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/MyIteratorWrapperAssert.java
new file mode 100644
index 00000000..b875df1c
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/MyIteratorWrapperAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.bug27;
+
+
+/**
+ * {@link MyIteratorWrapper} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractMyIteratorWrapperAssert} instead.
+ */
+public class MyIteratorWrapperAssert extends AbstractMyIteratorWrapperAssert{@link MyIteratorWrapperAssert}
to make assertions on actual MyIteratorWrapper.
+ * @param actual the MyIteratorWrapper we want to make assertions on.
+ */
+ public MyIteratorWrapperAssert(MyIteratorWrapper actual) {
+ super(actual, MyIteratorWrapperAssert.class);
+ }
+
+ /**
+ * An entry point for MyIteratorWrapperAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myMyIteratorWrapper)
and get specific assertion with code completion.
+ * @param actual the MyIteratorWrapper we want to make assertions on.
+ * @return a new {@link MyIteratorWrapperAssert}
+ */
+ public static MyIteratorWrapperAssert assertThat(MyIteratorWrapper actual) {
+ return new MyIteratorWrapperAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/MyModelClassAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/MyModelClassAssert.java
new file mode 100644
index 00000000..b8fd9f2a
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/MyModelClassAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.bug27;
+
+
+/**
+ * {@link MyModelClass} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractMyModelClassAssert} instead.
+ */
+public class MyModelClassAssert extends AbstractMyModelClassAssert{@link MyModelClassAssert}
to make assertions on actual MyModelClass.
+ * @param actual the MyModelClass we want to make assertions on.
+ */
+ public MyModelClassAssert(MyModelClass actual) {
+ super(actual, MyModelClassAssert.class);
+ }
+
+ /**
+ * An entry point for MyModelClassAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myMyModelClass)
and get specific assertion with code completion.
+ * @param actual the MyModelClass we want to make assertions on.
+ * @return a new {@link MyModelClassAssert}
+ */
+ public static MyModelClassAssert assertThat(MyModelClass actual) {
+ return new MyModelClassAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/MyModelClassMyBeanAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/MyModelClassMyBeanAssert.java
new file mode 100644
index 00000000..10aa52e2
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/bug27/MyModelClassMyBeanAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.bug27;
+
+
+/**
+ * {@link MyModelClass.MyBean} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractMyModelClassMyBeanAssert} instead.
+ */
+public class MyModelClassMyBeanAssert extends AbstractMyModelClassMyBeanAssert{@link MyModelClassMyBeanAssert}
to make assertions on actual MyModelClass.MyBean.
+ * @param actual the MyModelClass.MyBean we want to make assertions on.
+ */
+ public MyModelClassMyBeanAssert(MyModelClass.MyBean actual) {
+ super(actual, MyModelClassMyBeanAssert.class);
+ }
+
+ /**
+ * An entry point for MyModelClassMyBeanAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myMyModelClass.MyBean)
and get specific assertion with code completion.
+ * @param actual the MyModelClass.MyBean we want to make assertions on.
+ * @return a new {@link MyModelClassMyBeanAssert}
+ */
+ public static MyModelClassMyBeanAssert assertThat(MyModelClass.MyBean actual) {
+ return new MyModelClassMyBeanAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/AbstractMovieAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/AbstractMovieAssert.java
new file mode 100644
index 00000000..84cefd76
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/AbstractMovieAssert.java
@@ -0,0 +1,66 @@
+package org.assertj.examples.data.movie;
+
+import java.util.Date;
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Movie} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractMovieAssert, A extends Movie> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractMovieAssert}
to make assertions on actual Movie.
+ * @param actual the Movie we want to make assertions on.
+ */
+ protected AbstractMovieAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Movie's releaseDate is equal to the given one.
+ * @param releaseDate the given releaseDate to compare the actual Movie's releaseDate to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Movie's releaseDate is not equal to the given one.
+ */
+ public S hasReleaseDate(Date releaseDate) {
+ // check that actual Movie we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected releaseDate of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ Date actualReleaseDate = actual.getReleaseDate();
+ if (!org.assertj.core.util.Objects.areEqual(actualReleaseDate, releaseDate)) {
+ failWithMessage(assertjErrorMessage, actual, releaseDate, actualReleaseDate);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual Movie's title is equal to the given one.
+ * @param title the given title to compare the actual Movie's title to.
+ * @return this assertion object.
+ * @throws AssertionError - if the actual Movie's title is not equal to the given one.
+ */
+ public S hasTitle(String title) {
+ // check that actual Movie we want to make assertions on is not null.
+ isNotNull();
+
+ // overrides the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected title of:\n <%s>\nto be:\n <%s>\nbut was:\n <%s>";
+
+ // null safe check
+ String actualTitle = actual.getTitle();
+ if (!org.assertj.core.util.Objects.areEqual(actualTitle, title)) {
+ failWithMessage(assertjErrorMessage, actual, title, actualTitle);
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/AbstractTeamAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/AbstractTeamAssert.java
new file mode 100644
index 00000000..891d43cf
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/AbstractTeamAssert.java
@@ -0,0 +1,61 @@
+package org.assertj.examples.data.movie;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link Team} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractTeamAssert, A extends Team> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractTeamAssert}
to make assertions on actual Team.
+ * @param actual the Team we want to make assertions on.
+ */
+ protected AbstractTeamAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual Team's actors contains the given String elements.
+ * @param actors the given elements that should be contained in actual Team's actors.
+ * @return this assertion object.
+ * @throws AssertionError if the actual Team's actors does not contain all given String elements.
+ */
+ public S hasActors(String... actors) {
+ // check that actual Team we want to make assertions on is not null.
+ isNotNull();
+
+ // check that given String varargs is not null.
+ if (actors == null) throw new AssertionError("Expecting actors parameter not to be null.");
+
+ // check with standard error message, to set another message call: info.overridingErrorMessage("my error message");
+ org.assertj.core.internal.Iterables.instance().assertContains(info, actual.getActors(), actors);
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual Team has no actors.
+ * @return this assertion object.
+ * @throws AssertionError if the actual Team's actors is not empty.
+ */
+ public S hasNoActors() {
+ // check that actual Team we want to make assertions on is not null.
+ isNotNull();
+
+ // we override the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected :\n <%s>\nnot to have actors but had :\n <%s>";
+
+ // check
+ if (actual.getActors().iterator().hasNext()) {
+ failWithMessage(assertjErrorMessage, actual, actual.getActors());
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/MovieAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/MovieAssert.java
new file mode 100644
index 00000000..371ab109
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/MovieAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.movie;
+
+
+/**
+ * {@link Movie} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractMovieAssert} instead.
+ */
+public class MovieAssert extends AbstractMovieAssert{@link MovieAssert}
to make assertions on actual Movie.
+ * @param actual the Movie we want to make assertions on.
+ */
+ public MovieAssert(Movie actual) {
+ super(actual, MovieAssert.class);
+ }
+
+ /**
+ * An entry point for MovieAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myMovie)
and get specific assertion with code completion.
+ * @param actual the Movie we want to make assertions on.
+ * @return a new {@link MovieAssert}
+ */
+ public static MovieAssert assertThat(Movie actual) {
+ return new MovieAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/TeamAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/TeamAssert.java
new file mode 100644
index 00000000..b9295bec
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/movie/TeamAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.movie;
+
+
+/**
+ * {@link Team} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractTeamAssert} instead.
+ */
+public class TeamAssert extends AbstractTeamAssert{@link TeamAssert}
to make assertions on actual Team.
+ * @param actual the Team we want to make assertions on.
+ */
+ public TeamAssert(Team actual) {
+ super(actual, TeamAssert.class);
+ }
+
+ /**
+ * An entry point for TeamAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myTeam)
and get specific assertion with code completion.
+ * @param actual the Team we want to make assertions on.
+ * @return a new {@link TeamAssert}
+ */
+ public static TeamAssert assertThat(Team actual) {
+ return new TeamAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/neo4j/AbstractDragonBallGraphAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/neo4j/AbstractDragonBallGraphAssert.java
new file mode 100644
index 00000000..e7e3b585
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/neo4j/AbstractDragonBallGraphAssert.java
@@ -0,0 +1,19 @@
+package org.assertj.examples.data.neo4j;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link DragonBallGraph} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractDragonBallGraphAssert, A extends DragonBallGraph> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractDragonBallGraphAssert}
to make assertions on actual DragonBallGraph.
+ * @param actual the DragonBallGraph we want to make assertions on.
+ */
+ protected AbstractDragonBallGraphAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/neo4j/DragonBallGraphAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/neo4j/DragonBallGraphAssert.java
new file mode 100644
index 00000000..ddf679fb
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/neo4j/DragonBallGraphAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.neo4j;
+
+
+/**
+ * {@link DragonBallGraph} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractDragonBallGraphAssert} instead.
+ */
+public class DragonBallGraphAssert extends AbstractDragonBallGraphAssert{@link DragonBallGraphAssert}
to make assertions on actual DragonBallGraph.
+ * @param actual the DragonBallGraph we want to make assertions on.
+ */
+ public DragonBallGraphAssert(DragonBallGraph actual) {
+ super(actual, DragonBallGraphAssert.class);
+ }
+
+ /**
+ * An entry point for DragonBallGraphAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myDragonBallGraph)
and get specific assertion with code completion.
+ * @param actual the DragonBallGraph we want to make assertions on.
+ * @return a new {@link DragonBallGraphAssert}
+ */
+ public static DragonBallGraphAssert assertThat(DragonBallGraph actual) {
+ return new DragonBallGraphAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/AbstractGameServiceAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/AbstractGameServiceAssert.java
new file mode 100644
index 00000000..17bfc971
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/AbstractGameServiceAssert.java
@@ -0,0 +1,19 @@
+package org.assertj.examples.data.service;
+
+import org.assertj.core.api.AbstractAssert;
+
+
+/**
+ * Abstract base class for {@link GameService} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractGameServiceAssert, A extends GameService> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractGameServiceAssert}
to make assertions on actual GameService.
+ * @param actual the GameService we want to make assertions on.
+ */
+ protected AbstractGameServiceAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/AbstractTeamManagerAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/AbstractTeamManagerAssert.java
new file mode 100644
index 00000000..a8e89573
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/AbstractTeamManagerAssert.java
@@ -0,0 +1,62 @@
+package org.assertj.examples.data.service;
+
+import org.assertj.core.api.AbstractAssert;
+import org.assertj.examples.data.BasketBallPlayer;
+
+
+/**
+ * Abstract base class for {@link TeamManager} specific assertions - Generated by CustomAssertionGenerator.
+ */
+public abstract class AbstractTeamManagerAssert, A extends TeamManager> extends AbstractAssert {
+
+ /**
+ * Creates a new {@link AbstractTeamManagerAssert}
to make assertions on actual TeamManager.
+ * @param actual the TeamManager we want to make assertions on.
+ */
+ protected AbstractTeamManagerAssert(A actual, Class selfType) {
+ super(actual, selfType);
+ }
+
+ /**
+ * Verifies that the actual TeamManager's players contains the given BasketBallPlayer elements.
+ * @param players the given elements that should be contained in actual TeamManager's players.
+ * @return this assertion object.
+ * @throws AssertionError if the actual TeamManager's players does not contain all given BasketBallPlayer elements.
+ */
+ public S hasPlayers(BasketBallPlayer... players) {
+ // check that actual TeamManager we want to make assertions on is not null.
+ isNotNull();
+
+ // check that given BasketBallPlayer varargs is not null.
+ if (players == null) throw new AssertionError("Expecting players parameter not to be null.");
+
+ // check with standard error message, to set another message call: info.overridingErrorMessage("my error message");
+ org.assertj.core.internal.Iterables.instance().assertContains(info, actual.getPlayers(), players);
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+ /**
+ * Verifies that the actual TeamManager has no players.
+ * @return this assertion object.
+ * @throws AssertionError if the actual TeamManager's players is not empty.
+ */
+ public S hasNoPlayers() {
+ // check that actual TeamManager we want to make assertions on is not null.
+ isNotNull();
+
+ // we override the default error message with a more explicit one
+ String assertjErrorMessage = "\nExpected :\n <%s>\nnot to have players but had :\n <%s>";
+
+ // check
+ if (actual.getPlayers().iterator().hasNext()) {
+ failWithMessage(assertjErrorMessage, actual, actual.getPlayers());
+ }
+
+ // return the current assertion for method chaining
+ return myself;
+ }
+
+
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/GameServiceAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/GameServiceAssert.java
new file mode 100644
index 00000000..2ba558ca
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/GameServiceAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.service;
+
+
+/**
+ * {@link GameService} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractGameServiceAssert} instead.
+ */
+public class GameServiceAssert extends AbstractGameServiceAssert{@link GameServiceAssert}
to make assertions on actual GameService.
+ * @param actual the GameService we want to make assertions on.
+ */
+ public GameServiceAssert(GameService actual) {
+ super(actual, GameServiceAssert.class);
+ }
+
+ /**
+ * An entry point for GameServiceAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myGameService)
and get specific assertion with code completion.
+ * @param actual the GameService we want to make assertions on.
+ * @return a new {@link GameServiceAssert}
+ */
+ public static GameServiceAssert assertThat(GameService actual) {
+ return new GameServiceAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/TeamManagerAssert.java b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/TeamManagerAssert.java
new file mode 100644
index 00000000..e46bf814
--- /dev/null
+++ b/assertions-examples/src/test/generated-assertions/org/assertj/examples/data/service/TeamManagerAssert.java
@@ -0,0 +1,29 @@
+package org.assertj.examples.data.service;
+
+
+/**
+ * {@link TeamManager} specific assertions - Generated by CustomAssertionGenerator.
+ *
+ * Although this class is not final to allow Soft assertions proxy, if you wish to extend it,
+ * extend {@link AbstractTeamManagerAssert} instead.
+ */
+public class TeamManagerAssert extends AbstractTeamManagerAssert{@link TeamManagerAssert}
to make assertions on actual TeamManager.
+ * @param actual the TeamManager we want to make assertions on.
+ */
+ public TeamManagerAssert(TeamManager actual) {
+ super(actual, TeamManagerAssert.class);
+ }
+
+ /**
+ * An entry point for TeamManagerAssert to follow AssertJ standard assertThat()
statements.
+ * With a static import, one can write directly: assertThat(myTeamManager)
and get specific assertion with code completion.
+ * @param actual the TeamManager we want to make assertions on.
+ * @return a new {@link TeamManagerAssert}
+ */
+ public static TeamManagerAssert assertThat(TeamManager actual) {
+ return new TeamManagerAssert(actual);
+ }
+}
diff --git a/assertions-examples/src/test/java/org/assertj/examples/AbstractAssertionsExamples.java b/assertions-examples/src/test/java/org/assertj/examples/AbstractAssertionsExamples.java
index 836bbf32..5fcf8763 100644
--- a/assertions-examples/src/test/java/org/assertj/examples/AbstractAssertionsExamples.java
+++ b/assertions-examples/src/test/java/org/assertj/examples/AbstractAssertionsExamples.java
@@ -110,6 +110,7 @@ protected static void logAssertionErrorMessage(String assertionContext, Assertio
protected static BasketBallPlayer durant;
protected static BasketBallPlayer noah;
protected static BasketBallPlayer tonyParker;
+ protected static BasketBallPlayer dwayne;
protected static List