4
Groovy的斷言與包含該項目包含失敗:Groovy中聲稱,對於即使我可以在列表中看到
assert testList.contains(4)
| |
| false
[1, 2, 6, 3, 4]
我要去瘋了嗎?
這是測試代碼:
List testList = tester.getFactors(12)
assert testList.size() == 5
assert testList.contains(1)
assert testList.contains(2)
assert testList.contains(3)
assert testList.contains(4)
assert testList.contains(6)
如果刪除以外的所有含有(4)和包含(6)它失敗對於任一或它們兩者。
這是getFactors方法:
List getFactors(int number)
{
def retList = new ArrayList();
(1..Math.sqrt(number)).each() { i ->
if(number % i == 0)
{
//add both the number and the division result
retList.add(i)
if(i>1)
retList.add(number/i)
}
}
retList;
}
任何想法不勝感激。
謝謝!並感謝重寫函數 - 有趣的:) – FOOM
@FOOM不用擔心:-)我甚至會認爲'collectMany'應該是:'collectMany {i - > [i,number.intdiv(i)]}'' ,就好像你將要把'1'作爲一個因素一樣,你也可以擁有這個數字本身:-)玩得開心,祝你好運! –