Ciao devo implementare un metodo alla classe org.junit.Assert
assertGreaterThan(T o1, T o2, java.util.Comparator<T> comparator) che verifichi che il primo oggetto sia più grande del secondo in base al comparator passato.
Inoltre voglio testarlo aggiungendo un test in org.junit.tests assertion.AssertionTest e devo usare il metodo di test equals() come riferimento.
La mia domanda è, come posso gestire i parametri in chiamata? Non so proprio come fare, se qualcuno potesse aiutarmi nella stesura del metodo di test e magari qualche chiarimento sull'uso di <T> ed Object sarebbe fantastico.
Un grosso grazie in anticipo.
/*
* Negative a<b
* Zero a=b
* Positive a>b
* */
public static <T> int assertGreaterThan(T o1, T o2, java.util.Comparator<T> comparator){
return comparator.compare(o1, o2);
}
@Test
public void equals() {
Object o = new Object();
assertEquals(o, o);
assertEquals("abc", "abc");
assertEquals(true, true);
assertEquals((byte) 1, (byte) 1);
assertEquals('a', 'a');
assertEquals((short) 1, (short) 1);
assertEquals(1, 1); // int by default, cast is unnecessary
assertEquals(1l, 1l);
assertEquals(1.0, 1.0, 0.0);
assertEquals(1.0d, 1.0d, 0.0d);
}
@Test
public <T> void assertGraterThanTest() {
java.util.Comparator<T> comparator;
.....
assertGraterThan(o,o,comparator);
}