我正在尝试为我正在构建的树数据结构(python3)添加单元测试。树结构使用集合(无序),我正在努力寻找方法来测试我的树类的某些方法。你知道吗
给出了一个有图解的树…我有一个方法可以分离一个节点(比如说#2),然后选择它的一个子节点(3或4)来代替它,而不是将它们都作为节点1的子节点。(如果说#2是根,并且当2被丢弃时,我们仍然希望3和4是相关的,那么这很有用。)
1----------+ 2 1----------+
| | | |
+---2---+ | Detaching Node "2" 3---+ |
| | 11 --> /|\ | 11
3 4 /| \ 5 6 7 | /| \
/|\ /|\ 12 13 14 4 12 13 14
5 6 7 8 9 10 /|\
8 9 10
集合是无序的,我选择子节点(从3和4中)的方法是检查节点2是否有子节点,然后从他的子节点集中弹出一个子节点,并使其成为一个。因为集合是无序的,所以当我把孩子放下来的时候,我在我的测试用例中得到(看起来)随机的结果。你知道吗
我的策略应该是什么来测试这样的方法(我读过关于使用随机模块时的测试困难的文章,但是我也读过集合确实有某种可预测的顺序)?我应该测试一下这个问题吗?我是不是应该试着弄清楚电视机的“弹出”顺序?你知道吗
测试这个方法是否做了它应该做的事情。操作后,是否已将正确的节点替换为其子节点之一?如果是这样,太好了!如果没有,则报告失败。你知道吗
你不需要断言它已经被任何特定的子代所取代。你知道吗
相关问题 更多 >
编程相关推荐