JUnit3测试比较两个Integer数组,数组内容是一摸一样的,但总是报错

fuzeqiang 2013-12-02 11:48:11
如题,代码如下:
public final class Demo {

private Demo(){}

// 功能:输入整型数组,对其元素按照升序或降序进行排序
// 输入:pIntegerArray 需要排序的整型数组
// sortFlg 0:升序 1:降序
// 返回:没有重复数字的整型

private final static int DESC = 1;
private final static int ASC = 0;
public static void sortArray(Integer[] arr, int sortFlg)
{
for (int i = 0; i < arr.length; i++)
{
for (int j = i + 1; j < arr.length; j++)
{
if (ASC == sortFlg && arr[i] > arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
if (DESC == sortFlg && arr[i] < arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
public static void main(String[] args) {
sortArray(new Integer[]{0, 9, 7, 7, 6, 1, 7, 0}, 0);
}

}

测试类如下:
public class DemoTest  extends TestCase
{

public void testCase1()
{
Integer[] pIntArray = {5, 4, 7, 1, 3};

Demo.sortArray(pIntArray, 0);

Integer[] resultArray = {1, 3, 4, 5, 7};

assertEquals(resultArray, pIntArray);
}

public void testCase2()
{
Integer[] pIntArray = {1, 3, 7, 4, 5};

Demo.sortArray(pIntArray, 1);

Integer[] resultArray = {7, 5, 4, 3, 1};

assertEquals(resultArray, pIntArray);
}

}
...全文
308 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
朝夕0803 2015-06-29
  • 打赏
  • 举报
回复
楼主这个问题解决了没
手套 2013-12-02
  • 打赏
  • 举报
回复
非基本数据类型,
  • 打赏
  • 举报
回复
是不是因为对象的原因
闲去野鹤 2013-12-02
  • 打赏
  • 举报
回复
楼上的,楼主都没有说报什么错呢,都这么积极呀。报错内容贴贴.
手套 2013-12-02
  • 打赏
  • 举报
回复
引用 4 楼 fuzeqiang 的回复:
[quote=引用 3 楼 u010361830 的回复:] 源码: static public void assertEquals(Object expected, Object actual) { assertEquals(null, expected, actual); } static public void assertEquals(String message, Object expected, Object actual) { if (expected == null && actual == null) return; if (expected != null && expected.equals(actual)) return; failNotEquals(message, expected, actual); } expected.equals(actual)---> public boolean equals(Object obj) { return (this == obj); } 肯定不一样
那我要怎么样测试呢?自己重写这个方法可以吗?[/quote] 直接看输出结果最简单。
teemai 2013-12-02
  • 打赏
  • 举报
回复
assertEquals比较Integer[]中的每一个元素,而不是数组对象
fuzeqiang 2013-12-02
  • 打赏
  • 举报
回复
引用 3 楼 u010361830 的回复:
源码: static public void assertEquals(Object expected, Object actual) { assertEquals(null, expected, actual); } static public void assertEquals(String message, Object expected, Object actual) { if (expected == null && actual == null) return; if (expected != null && expected.equals(actual)) return; failNotEquals(message, expected, actual); } expected.equals(actual)---> public boolean equals(Object obj) { return (this == obj); } 肯定不一样
那我要怎么样测试呢?自己重写这个方法可以吗?
手套 2013-12-02
  • 打赏
  • 举报
回复
源码: static public void assertEquals(Object expected, Object actual) { assertEquals(null, expected, actual); } static public void assertEquals(String message, Object expected, Object actual) { if (expected == null && actual == null) return; if (expected != null && expected.equals(actual)) return; failNotEquals(message, expected, actual); } expected.equals(actual)---> public boolean equals(Object obj) { return (this == obj); } 肯定不一样

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧