Как создать тест JUnit, который проверяет абстрактный код из другого класса? У меня есть абстрактный класс под названием AbstractCurve и «кривая производителя и потребителя», которая расширяет абстрактную кривую. ConsumerCurve и ProducerCurve - это одно и то же, но другое имя класса. Вот код:Как создать тест Junit для абстрактного класса?
public abstract class AbstractCurve {
ArrayList <Point> myCurve = new ArrayList <Point>();
public AbstractCurve(int np, double m, double b, int dx) {
for (int i = 0; i < np; i++) {
int x = i * dx;
double y = m * x + b;
if (y < 0) throw new IllegalArgumentException();
ArrayList <Point> myCurve = new ArrayList <Point>();
myCurve.add(new Point(x, y));
}
}
public boolean add(Point p) {
myCurve.add(p);
sort();
return false;
}
public void delete(Point p) {
myCurve.remove(p);
}
public abstract void sort();
public String toString() {
String t = " ";
for (int i = 0; i < myCurve.size(); i++) {
t = t + myCurve.get(i).toString() + " ";
}
return t;
}
public int contains(Point p) {
for (int index = 0; index < myCurve.size(); index++) {
myCurve.equals(index);
}
return -1;
}
}
Потребитель:
public class ConsumerCurve extends AbstractCurve{
public ConsumerCurve() {
super(0, 0, 0, 0);
}
public void sort() {}
}
Вы не проверяете расширяющиеся классы. на ваш случай 'ConsumeCurve'. Кстати, ваш вопрос повторяется: http://stackoverflow.com/questions/7569444/how-to-test-abstract-class-in-java-with-junit –
Итак, я тестирую ConsumerCurve и ProducerCurve? – retrogirl19
@ retrogirl19 Да, вам нужно будет написать JUnit для подклассов. JUnit предназначен для тестирования функционального аспекта модуля и, таким образом, путем тестирования подклассов, которые наследуют поведение от родительского класса abstract, делает цель. –