我正在为处理数据转换的规范编写参考实现。
我有许多测试用例检查数据是否正确地向前和向后转换,例如:
void test(){
int x[maxTest], y[maxTest], z[maxTest];
fillRandomly(x, testSize);
MyTransform trans = MyTransform(testsize);
trans.apply(x, testSize, y);
trans.remove(y, testSize, z);
for(int i = 0; i < testSize; i++)
CPPUNIT_ASSERT(abs(x[i] - z[i]) < 2);
}
测试用例和转换之间的数据类型差异很大。
我想要生成的是包含输入/输出和中间阶段的文件,以便进一步的实现可以验证它们的结果。
有一些明显的方法可以让我完成这项工作(例如,命名输出文件并将所有内容放入其中),但其中大多数都意味着要回到每个测试用例和一大堆复制粘贴。
来自 Java,内省想到了一个包装器来解决我的一些问题(测试输出文件的自动命名......),但不是全部,我被建议在 C++ 中远离它(欢迎发表意见)。
通用的应用/删除方法似乎也是一个不错的选择,但不会那么容易,因为没有抽象的变换类型并且变换之间的一致性很小(可能仍然是一个不错的选择,因为没有那么多类型的变换)。
所以我想知道你们中的任何人是否必须做类似的事情以及如何解决它。我不介意修改所有测试用例,如果这意味着以后我可以有一些干净的东西。
任何输入将不胜感激。