Java 如何创建JUnit测试来测试CompareTo?

Java 如何创建JUnit测试来测试CompareTo?,java,arrays,junit,int,compare,Java,Arrays,Junit,Int,Compare,在我的代码中,我有两个静态方法。一个用于比较两个int数组的内容,另一个用于比较两个字符串数组的内容(顺序相同)。如何为这些方法之一构建JUnit测试?我想我可以用 编辑** 我创建了一个测试,但它并不准确 //edited test, passes but clearly isn't correct. public class ArrayComparerTests { @Test public void testIntArray() { //

在我的代码中,我有两个静态方法。一个用于比较两个int数组的内容,另一个用于比较两个字符串数组的内容(顺序相同)。如何为这些方法之一构建JUnit测试?我想我可以用 编辑** 我创建了一个测试,但它并不准确

//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;
        }
    }
//已编辑测试,通过,但明显不正确。
公共类数组比较{
@试验
公共无效测试阵列(){
//ArrayComparer ArrayComparer=新的ArrayComparer();
int[]list1={2,2,3};
int[]list2={1};
assertEquals(false,ArrayComparer.CompareInArrays(列表1,列表2));
}
}
公共类阵列比较程序{
公共静态布尔比较数组(int[]list1,int[]list2){
//检查相同的数组引用
if(list1==list2){
返回true;
}
//检查空数组
if(list1==null | | list2==null){
返回false;
}
//数组的长度应该相等
if(list2.length!=list1.length){
返回false;
}
//比较数组值
for(int i=0;i
您可能可以使用


我明白了。这就是答案

public class ArrayComparerTests {
    @Test
    public void testIntArray() {
        int[] list1 = {2,2,3};
        int[] list2 = {1};
        assertEquals(false, ArrayComparer.compareIntArrays(list1, list2));
    }

}

您是否可以创建一个函数,将数组中的每个元素相互比较,假设它们的大小相同,如果有不一样的地方就中断,让函数返回false,并在单元测试时执行assert true(或false,具体取决于您期望的结果)?
public class ArrayComparerTests {
    @Test
    public void testIntArray() {
        int[] list1 = {2,2,3};
        int[] list2 = {1};
        assertEquals(false, ArrayComparer.compareIntArrays(list1, list2));
    }

}