これは私のクラスで、メソッドinsert()が正しく動作していることをどのように保証していますか?どのように私のarrayListの入れ子にされたプライベートクラスのオブジェクトを保証するために私が望むものですか?
public class HeapQueue<P extends Comparable<? super P>, V>
implements PriorityQueue<P, V> {
private final ArrayList<Pair<P, V>> pairs = new ArrayList<>();
private static class Pair<P extends Comparable<? super P>, V>
implements Comparable<Pair<P, V>> {
private final P priority;
private final V value;
public Pair(P priority, V value) {
this.priority = priority;
this.value = value;
}
@Override
public int compareTo(Pair<P, V> o) {
return priority.compareTo(o.priority);
}
}
私はこのテストを試みたが、私はペア<>が正しいオブジェクトを確保することができません。
@Test
public void insertPrioritatAltaTest() {
HeapQueue hq = new HeapQueue();
Priority p1 = null;
try {
p1 = new Priority("Alta");
} catch (InvalidInputError iie) {
}
int a = 1;
hq.insert(p1, a);
assertEquals(hq.size(),1);
}
私はペアの値を抽出するためにゲッターを作成しようとしたが、Netbeansのは、私は、パブリックAPIを介してプライベートなものを渡した、しかも私はそれを取得していなかったことを私にwarnered。 公開クラスPair <>を宣言してもこれをテストする正しい方法ではないと思います。私はそれをまだテストしていないextract()メソッドを使用していません。
おかげで、私はとてもイライラなっていた...これは完全に働きました – Jo4nP4l4u