我开始着手一个小的Ruby项目,其中包含多种不同数据结构和算法的示例实现。目前只是为了让我重新熟悉一些我已经有一段时间没做的事情,但我希望它能够像Ruby Koans一样设置,为数据结构编写大量单元测试,但实现为空(完整的实现在另一个分支中)。然后它可以用作一个很好的学习工具或代码练习。
但是,我遇到了一些问题,无法想出一个好的方法来编写测试。我不能只测试公共行为,因为那并不能告诉我关于实现的信息,这在这里非常重要。例如,普通BST和红黑树的公共接口是相同的,但RB Tree具有非常特定的数据组织要求。我该如何测试呢?
但是,我遇到了一些问题,无法想出一个好的方法来编写测试。我不能只测试公共行为,因为那并不能告诉我关于实现的信息,这在这里非常重要。例如,普通BST和红黑树的公共接口是相同的,但RB Tree具有非常特定的数据组织要求。我该如何测试呢?