Skip to content

Commit

Permalink
widened iterable assertions to take wildcard
Browse files Browse the repository at this point in the history
  • Loading branch information
jschneider authored and joel-costigliola committed Dec 30, 2014
1 parent ab6764d commit efe2de9
Show file tree
Hide file tree
Showing 20 changed files with 131 additions and 88 deletions.
Expand Up @@ -55,7 +55,7 @@
* @author Mikhail Mazursky
* @author Mateusz Haligowski
*/
public abstract class AbstractIterableAssert<S extends AbstractIterableAssert<S, A, T>, A extends Iterable<T>, T>
public abstract class AbstractIterableAssert<S extends AbstractIterableAssert<S, A, T>, A extends Iterable<? extends T>, T>
extends AbstractAssert<S, A> implements ObjectEnumerableAssert<S, T> {

@VisibleForTesting
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/assertj/core/api/AbstractListAssert.java
Expand Up @@ -33,7 +33,7 @@
* @author Joel Costigliola
* @author Mikhail Mazursky
*/
public abstract class AbstractListAssert<S extends AbstractListAssert<S, A, T>, A extends List<T>, T> extends AbstractIterableAssert<S, A, T> implements
public abstract class AbstractListAssert<S extends AbstractListAssert<S, A, T>, A extends List<? extends T>, T> extends AbstractIterableAssert<S, A, T> implements
IndexedObjectEnumerableAssert<S, T> {

@VisibleForTesting
Expand Down
Expand Up @@ -160,7 +160,7 @@ public ClassAssert assertThat(Class<?> actual) {
* @return the created assertion object.
*/
@SuppressWarnings("unchecked")
public <T> IterableAssert<T> assertThat(Iterable<T> actual) {
public <T> IterableAssert<T> assertThat(Iterable<? extends T> actual) {
return proxy(IterableAssert.class, Iterable.class, actual);
}

Expand Down Expand Up @@ -294,7 +294,7 @@ public IntegerAssert assertThat(Integer actual) {
* @return the created assertion object.
*/
@SuppressWarnings("unchecked")
public <T> ListAssert<T> assertThat(List<T> actual) {
public <T> ListAssert<T> assertThat(List<? extends T> actual) {
return proxy(ListAssert.class, List.class, actual);
}

Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/assertj/core/api/Assertions.java
Expand Up @@ -194,7 +194,7 @@ public static <T extends Comparable<? super T>> AbstractComparableAssert<?, T> a
* @param actual the actual value.
* @return the created assertion object.
*/
public static <T> AbstractIterableAssert<?, ? extends Iterable<T>, T> assertThat(Iterable<T> actual) {
public static <T> AbstractIterableAssert<?, ? extends Iterable<? extends T>, T> assertThat(Iterable<? extends T> actual) {
return new IterableAssert<T>(actual);
}

Expand All @@ -208,7 +208,7 @@ public static <T extends Comparable<? super T>> AbstractComparableAssert<?, T> a
* @param actual the actual value.
* @return the created assertion object.
*/
public static <T> AbstractIterableAssert<?, ? extends Iterable<T>, T> assertThat(Iterator<T> actual) {
public static <T> AbstractIterableAssert<?, ? extends Iterable<? extends T>, T> assertThat(Iterator<? extends T> actual) {
return new IterableAssert<T>(actual);
}

Expand Down Expand Up @@ -328,7 +328,7 @@ public static AbstractIntegerAssert<?> assertThat(Integer actual) {
* @param actual the actual value.
* @return the created assertion object.
*/
public static <T> AbstractListAssert<?, ? extends List<T>, T> assertThat(List<T> actual) {
public static <T> AbstractListAssert<?, ? extends List<? extends T>, T> assertThat(List<? extends T> actual) {
return new ListAssert<T>(actual);
}

Expand Down

0 comments on commit efe2de9

Please sign in to comment.