作业要求参照[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2146]
git地址:https://git.coding.net/KamiForever/FourOperations.git
2人结对,使用TDD测试框架 (如NUnit, JUnit, cppUnit等)完成本周作业四则运算试题生成的单元测试。
要求1 对每个功能,先给出测试用例,然后再编码功能。请注意把测试用例视为功能需求完成的检验指标。 (40分)
结对伙伴:周昊
集成环境:Visual Studio 2017
编程语言:C++
功能1和功能2:
测试用例 | 预期结果 |
f4 | 出现运算表达式,换行打印? |
输入正确的答案 | 答对了你真是个天才 |
输入错误的答案 | 再想想吧,答案似乎是 喔! |
f4后共答20道题 | 你一共答对1道题,共20道题。 |
功能3,功能4:
测试用例 | 预期结果 |
f4 -c 200 | 按格式打印出200道题后面附有答案 |
f4 -c -200 | 提示题目数量必须是 正整数。 |
f4 -c 1.5 | 提示题目数量必须是 正整数。 |
f4 -c a | 提示题目数量必须是 正整数。 |
测试用代码:
TEST_METHOD(TestMethod1) { int a = 16; int b = 4; int ans = gcd(a, b); Assert::AreEqual<int>(4, ans); } TEST_METHOD(TestMethod2) { ans; ans.m = -10; ans.d = 9; fra[0].m = 4; fra[0].d = 9; fra[0].l = 2; fra[0].r = 0; fra[1].m = 1; fra[1].d = 1; fra[1].l = 0; fra[1].r = 1; fra[2].m = 1; fra[2].d = 2; fra[2].l = 0; fra[2].r = 1; fra[3].m = 1; fra[3].d = 1; fra[3].l = 0; fra[3].r = 0; op[0] = op[4] = '+'; op[1] = '-'; op[2] = '/'; op[3] = '*'; bra[0].l = 0; bra[0].r = 2; bra[1].l = 0; bra[1].r = 1; Fraction temp = getans(0, 3, 0); Assert::AreEqual<Fraction>(ans, temp); }
2.功能运行结果:
功能1和功能2:
通过测试截图: