我正在使用JUnit测试用例来测试我为理性分数ADT创建的方法。我目前正在测试add()
方法。我有一个分数为1 / 2,2 / 3,3 / 4,... 9/10的ArrayList,我使用for循环创建了它。然后我创建了一个Rational分数fsum
并将其初始化为fractions.get(0);
中的值。然后我创建了一个for循环,将ArrayList中的每个其他值添加到Rational分数fsum
。在测试断言之后,一切都变得正确,但这似乎不是在fractions
ArrayList中添加所有分数的最有效方法。还有另一种更简单的方法来完成同样的事情吗?以下是一些参考代码:
ArrayList<Rational> fractions = new ArrayList<Rational>();
for(int i=1; i<10; i++){
fractions.add(new RationalC(i, i+1));
}
Rational sum = new RationalC(17819,2520);
Rational fsum = fractions.get(0);
for(int j=1; j<9; j++){
fsum = fsum.add(fractions.get(j));
}
assertTrue("Sum of 1/2,2/3,...9/10", fsum.compareTo(sum) == 0);
感谢您提出任何建议