On 1 November 2011 21:07, Nat Pryce <
nat....@gmail.com> wrote:
Or do you want commit access?
After seeing the state of those who have - nice try ;-)
The following patch though passes the current tests and leads to
Matchers with what I believe is the correct signature. But frankly I'm
a little out of my depth when it comes to this level of generics -
it's only because Jon Skeet validated it that I dared even suggest the
change!
D
$ svn diff hamcrest-library/src/main/java/org/hamcrest/number/
OrderingComparison.java
Index: hamcrest-library/src/main/java/org/hamcrest/number/
OrderingComparison.java
===================================================================
--- hamcrest-library/src/main/java/org/hamcrest/number/
OrderingComparison.java (revision 727)
+++ hamcrest-library/src/main/java/org/hamcrest/number/
OrderingComparison.java (working copy)
@@ -7,7 +7,7 @@
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
-public class OrderingComparison<T extends Comparable<T>> extends
TypeSafeMatcher<T> {
+public class OrderingComparison<T extends Comparable<? super T>>
extends TypeSafeMatcher<T> {
private static final int LESS_THAN = -1;
private static final int GREATER_THAN = 1;
private static final int EQUAL = 0;
@@ -55,7 +55,7 @@
* @return Is value = expected?
*/
@Factory
- public static <T extends Comparable<T>> Matcher<T>
comparesEqualTo(T value) {
+ public static <T extends Comparable<? super T>> Matcher<T>
comparesEqualTo(T value) {
return new OrderingComparison<T>(value, EQUAL, EQUAL);
}
@@ -63,7 +63,7 @@
* Is value > expected?
*/
@Factory
- public static <T extends Comparable<T>> Matcher<T> greaterThan(T
value) {
+ public static <T extends Comparable<? super T>> Matcher<T>
greaterThan(T value) {
return new OrderingComparison<T>(value, GREATER_THAN,
GREATER_THAN);
}
@@ -71,7 +71,7 @@
* Is value >= expected?
*/
@Factory
- public static <T extends Comparable<T>> Matcher<T>
greaterThanOrEqualTo(T value) {
+ public static <T extends Comparable<? super T>> Matcher<T>
greaterThanOrEqualTo(T value) {
return new OrderingComparison<T>(value, EQUAL, GREATER_THAN);
}
@@ -79,7 +79,7 @@
* Is value < expected?
*/
@Factory
- public static <T extends Comparable<T>> Matcher<T> lessThan(T
value) {
+ public static <T extends Comparable<? super T>> Matcher<T>
lessThan(T value) {
return new OrderingComparison<T>(value, LESS_THAN,
LESS_THAN);
}
@@ -87,7 +87,7 @@
* Is value <= expected?
*/
@Factory
- public static <T extends Comparable<T>> Matcher<T>
lessThanOrEqualTo(T value) {
+ public static <T extends Comparable<? super T>> Matcher<T>
lessThanOrEqualTo(T value) {
return new OrderingComparison<T>(value, LESS_THAN, EQUAL);
}
}