Description: Fix "invalid inferred types for T; actual arguments do not
conforms to inferred formal arguments" when building junit4 with openjdk
under recent hotspot.
Author: Damien Raude-Morvan <drazzib@debian.org>
Forwarded: no
Bug-Debian: http://bugs.debian.org/662807
Last-Update: 2012-03-07
--- a/src/main/java/org/junit/internal/matchers/CombinableMatcher.java
+++ b/src/main/java/org/junit/internal/matchers/CombinableMatcher.java
@@ -24,11 +24,11 @@
@SuppressWarnings("unchecked")
public CombinableMatcher<T> and(Matcher<? extends T> matcher) {
- return new CombinableMatcher<T>(allOf(matcher, fMatcher));
+ return new CombinableMatcher<T>(allOf((Matcher)matcher, fMatcher));
}
@SuppressWarnings("unchecked")
public CombinableMatcher<T> or(Matcher<? extends T> matcher) {
- return new CombinableMatcher<T>(anyOf(matcher, fMatcher));
+ return new CombinableMatcher<T>(anyOf((Matcher)matcher, fMatcher));
}
-}
\ No newline at end of file
+}
--- a/src/main/java/org/junit/internal/matchers/IsCollectionContaining.java
+++ b/src/main/java/org/junit/internal/matchers/IsCollectionContaining.java
@@ -41,7 +41,7 @@
@Factory
public static <T> Matcher<Iterable<T>> hasItem(T element) {
- return hasItem(equalTo(element));
+ return hasItem((Matcher)equalTo(element));
}
@Factory
@@ -51,7 +51,7 @@
for (Matcher<? extends T> elementMatcher : elementMatchers) {
all.add(hasItem(elementMatcher));
}
- return allOf(all);
+ return allOf((Collection)all);
}
@Factory
@@ -61,7 +61,7 @@
for (T element : elements) {
all.add(hasItem(element));
}
- return allOf(all);
+ return allOf((Collection)all);
}
}
--- a/src/test/java/org/junit/tests/assertion/AssertionTest.java
+++ b/src/test/java/org/junit/tests/assertion/AssertionTest.java
@@ -12,6 +12,7 @@
import java.math.BigDecimal;
+import org.hamcrest.Matcher;
import org.junit.Assert;
import org.junit.ComparisonFailure;
import org.junit.Test;
@@ -446,7 +447,7 @@
String expectedMessage = "identifier\nExpected: is an instance of java.lang.Integer\n got: \"actual\"\n";
try {
- assertThat("identifier", "actual", is(Integer.class));
+ assertThat("identifier", "actual", (Matcher) is(Integer.class));
} catch (AssertionError e) {
assertEquals(expectedMessage, e.getMessage());
}
--- a/src/test/java/org/junit/tests/assertion/BothTest.java
+++ b/src/test/java/org/junit/tests/assertion/BothTest.java
@@ -17,17 +17,17 @@
@RunWith(Theories.class)
public class BothTest {
@DataPoint
- public static Matcher<Integer> IS_3= is(3);
+ public static Matcher<Integer> IS_3= (Matcher) is(3);
@DataPoint
- public static Matcher<Integer> IS_4= is(4);
+ public static Matcher<Integer> IS_4= (Matcher) is(4);
@DataPoint
public static int THREE= 3;
@Test
public void bothPasses() {
- assertThat(3, both(is(Integer.class)).and(is(3)));
+ assertThat(3, both(is(Integer.class)).and((Matcher)is(3)));
}
@Theory
@@ -46,7 +46,7 @@
@Test
public void eitherPasses() {
- assertThat(3, either(is(3)).or(is(4)));
+ assertThat(3, either(is(3)).or((Matcher)is(4)));
}
@Theory
@@ -66,6 +66,6 @@
}
@Test public void subclassesAreOkInSecondPositionOnly() {
- assertThat(3, both(is(Integer.class)).and(is(3)));
+ assertThat(3, both(is(Integer.class)).and((Matcher)is(3)));
}
}