我想用Junit为我的ParOfDice类编写测试用例。但是我不知道,如何比较同一数组的元素。不是两个不同的数组。
public class Wuerfelpaar { // ParOfDice//
//Erstellungs des Arrays
private int[] wuerfel = new int[2];
//Konstruktur des Klasses
public Wuerfelpaar() {
this.roll();
this.pasch();
}
public void roll() {
// Liefert die Länge vor der for-Schleife. Dies wird schneller sein, als wir es nicht sind
// Immer wieder durch den Bereich navigieren.
int length = wuerfel.length;
for (int i = 0; i < length; ++i) {
wuerfel[i] = (int) ((Math.random() * 6) + 1);
System.out.println(wuerfel[i]);
}
}
//Falls die Elemente des Arrays (beide Wuerfel) gleich sind
//Kriegen wir eine Meldung, dass das Pasch ist.
//Mit diese Struktur, sind die Klassen wiederrufbar.
public void pasch(){
if (wuerfel[0] == wuerfel[1]){
System.out.println("PASCH");
}
}
}
答案 0 :(得分:0)
pasch()
我要添加一个吸气剂方法:
public int[] getWuerfel() {
return wuerfel;
}
和布尔验证方法:
public boolean istPaar() {
if(wuerfel[0] == wuerfel[1]) {
return true;
}
return false;
}
到Wuerfelpaar
。然后,在JUnit测试中,您可以执行以下操作:
Wuerfelpaar wp = new Wuerfelpaar();
int[] wuerfel = wp.getWuerfel();
if(wp.istPaar()) {
assertEqual(wuerfel[0], wuerfel[1]);
}
else {
assertNotEqual(wuerfel[0], wuerfel[1]);
}
就其他单元测试而言,我认为您真的不需要测试该类的其他部分。但是,如果确定,我将使用上面的getter方法为roll()
编写一个测试,然后检查wuerfel
数组中的两个数字是否在 1 和之间6 。