如何比较同一数组中的两个元素?
How can I compare two elements in a same array?
我想用 Junit 为我的 ParOfDice class 编写测试用例。但我不知道,我怎样才能比较同一个数组的元素。不是两个不同的数组。
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");
}
}
}
测试pasch()
我要添加一个 getter 方法:
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]);
}
其他测试
就其他单元测试而言,我认为您真的不需要测试此 class 的其他部分。但是如果你确定了,我会使用上面的 getter 方法为 roll()
编写一个测试,然后检查 wuerfel
数组中的两个数字是否在 1[= 之间32=] 和 6.
我想用 Junit 为我的 ParOfDice class 编写测试用例。但我不知道,我怎样才能比较同一个数组的元素。不是两个不同的数组。
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");
}
}
}
测试pasch()
我要添加一个 getter 方法:
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]);
}
其他测试
就其他单元测试而言,我认为您真的不需要测试此 class 的其他部分。但是如果你确定了,我会使用上面的 getter 方法为 roll()
编写一个测试,然后检查 wuerfel
数组中的两个数字是否在 1[= 之间32=] 和 6.