2
在我的代碼中,我有兩個靜態方法。我用來比較兩個int數組的內容,以及比較兩個字符串數組內容(以相同順序)的內容。我如何爲這些方法之一構造JUnit測試?我在想,我可以使用 編輯** 我創建了一個測試,但可行,但不準確。如何創建一個JUnit測試來測試CompareTo?
//edited test, passes but clearly isn't correct.
public class ArrayComparerTests {
@Test
public void testIntArray() {
// ArrayComparer arrayComparer = new ArrayComparer();
int[] list1 = {2,2,3};
int[] list2 = {1};
assertEquals(false, ArrayComparer.compareIntArrays(list1, list2));
}
}
public class ArrayComparer {
public static boolean compareIntArrays(int[] list1, int[] list2) {
// checks for same array reference
if (list1 == list2) {
return true;
}
// checks for null arrays
if (list1 == null || list2 == null) {
return false;
}
// arrays should be of equal length
if (list2.length != list1.length) {
return false;
}
// compare array values
for (int i = 0; i < list1.length; i++) {
for (i = 0; i < list2.length; i++) {
if (list1[i] != list2[i])
return false;
}
}
return true;
}
public static boolean compareStringArrays(String[] list3, String[] list4) {
// checks for same array reference
if (list3 == list4) {
return true;
}
// checks for null arrays
if (list3 == null || list4 == null) {
return false;
}
// arrays should be of equal length
if (list4.length != list3.length) {
return false;
}
// compare array values
for (int i = 0; i < list3.length; i++) {
for (i = 0; i < list4.length; i++) {
if (list3[i] != list4[i])
return false;
}
}
return true;
}
}
可能你只是創建相互陣列中的每個元素進行比較,假設它們是相同的尺寸,只是打破了功能,如果有什麼心不是在相同的函數返回false,只是做一個斷言真(或取決於你期望得到什麼結果)作爲你的單元測試? – AngryDuck