考虑一个文本索引,例如后缀树或支持Count查询(模式的出现次数)和Locate查询(模式的所有出现的位置)的后缀数组。您将如何对这样的课程进行单元测试?
我想到的是生成一个大的随机字符串,然后从这个大字符串中提取一个随机子字符串,并将两个查询的结果与天真的实现(例如 string::find)进行比较。我的另一个想法是找到l
原始字符串中出现的最频繁的长度子字符串(可能使用一种简单的方法)并使用这些子字符串来测试索引。
这不是最好的方法,那么文本索引单元测试的好的设计是什么?
万一这很重要,这是在 C++ 中使用 googletest。
提前致谢。