У меня есть класс с двумя конечными статическими параметрами, которые должны использоваться в качестве параметров:
class Abc {
public final static String ASC = "ASC";
public final static String DESC = "DESC";
method(String parameter, LinkedList<type>) {
//I also tried if(!(parameter == ASC)) or
//if(!(sortMode.equals(ASC)))
if(parameter != ASC || parameter != DESC) {
throw new IllegalArgumentException();
}
if(parameter == ASC) {
do this
} else if(parameter == DESC) {
do that
}
}
}
Класс должен использоваться следующим образом - вот метод testMethod в JUnit3:
Abc sort2 = new Abc();
//... declaration and initializing list5
public void testCatchIllegalArgument() {
boolean passed = false;
try {
sort2.method("abc", list5);
} catch (IllegalArgumentException e) {
passed = true;
}
assertEquals("... "
+ " failed.", true, passed);
}
Это фактически не перехватывает IllegalArgumentException - переданная логическая переменная остается ложной после выполнения теста.
Что я в основном намереваюсь сделать, это иметь два фиксированных параметра в этом классе, которые можно выбрать в методев качестве параметров, но я не хочу сохранять их оба в каждом объекте этого класса.
Заранее благодарю за помощь.