Я пытаюсь сделать простой пример с параметрами JUnit с поиском минимума списка.Я также пытаюсь заставить это работать с различными типами объектов, но у меня возникают проблемы с этим.Вот что у меня есть:
import static org.junit.Assert.*;
import java.util.*;
import org.junit.*;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith (Parameterized.class)
public class MinTest<T> {
public List<? extends T> list;
public T min;
public MinTest(T a, T b, T c) {
this.list.add(a);
this.list.add(b);
this.min = c;
}
@Parameters
public static Collection<Object[]> calcValues()
{
return Arrays.asList (new Object [][] {
// Last value indicates expected value
{1, 3, 1},
{"a", "b", "a"}
});
}
@Test
public void minTest() {
assertTrue("Single element list", min == Min.min(list));
}
}
Сначала я не могу добавить в список тип T, но я не уверен, как отформатировать входные значения, чтобы они могли обрабатывать объекты любого типа.Также тест жалуется на то, что вызов min не является правильным типом ввода.
Метод min имеет формат:
public static <T extends Comparable<? super T>> T min (List<? extends T> list)
Не уверен, как обрабатывать все с неизвестными типами.