我一直在试图建立一个不可变的二叉搜索树数据结构。现在我已经在开发中得到了很多,我试图测试我创建的方法。到目前为止它进展顺利。j-unit testing不可变的二进制搜索树添加方法
我add方法,因为它代表:
@Override
public Set<T> add(T t) {
if (t.compareTo(x) == 0) {
return new Add<T>(x, left, right);
} else {
if (t.compareTo(x) < 0) {
return new Add<T>(x, left.add(t), right);
} else {
return new Add<T>(x, left, right.add(t));
}
}
}
我认为这是导致该问题的的toString:
@Override
public String toString(){
return "";
}
和单元测试:
@Test
public void SetAddElements(){
activeSet = newSet.add(1);
assertEquals("The element(s) were not added!", 1 , activeSet.add(1));
}
然而,我.add()方法似乎失败我的单元测试。从我推导出的Empty类的toString方法返回的空白意味着代替我的单元测试返回的结果(预期:< 1>,)它返回(预期:< 1>,实际:< 1>)。微小的差异,但足以让测试失败。
junit test results and error report
我试图删除toString方法,但显然这只是返回默认的toString和attemoted使用API研究等,但什么也没有了上来。我正在努力用这个问题的精确表达来解释这个问题。任何帮助将不胜感激。
你应该实现使用默认TObject.toString +例如自己的类功能的toString功能,如果它像数组 –