结伴同学:黄泽宇
地址:http://www.cnblogs.com/ddzchild/p/7635240.html
以下是我俩做的单元测试:
要求1 对每个功能,先给出测试用例,然后再编码功能。请注意把测试用例视为功能需求完成的检验指标。
要求2 在博客报告测试用例全部fail 到 全部pass 的过程,报告事实 (fail到修改代码或者测试用例,到pass) 以及收获。 除了最初的框架,测试用例中存在一次性pass没有经过fail的,也报告一次性通过,给出如此优秀地实现了这部分功能的代码。初识单元测试,因
用visual studio 来进行单元测试,因为刚刚接触单元测试再加上自己的基本不够硬,所以虽然代码的功能实现了,但导致部分功能无法顺利进行单元测试。
功能1. 四则运算支持出题4个数的四则运算题目。
测试用例如下图:
单元测试:
实现功能1的主要代码:
// 运算符优先级表 // '+' '-' '*' '/' '(' ')' '#' unsigned char Prior[7][7] = { /*'+'*/'>', '>', '<', '<', '<', '>', '>', /*'-'*/'>', '>', '<', '<', '<', '>', '>', /*'*'*/'>', '>', '>', '>', '<', '>', '>', /*'/'*/'>', '>', '>', '>', '<', '>', '>', /*'('*/'<', '<', '<', '<', '<', '=', ' ', /*')'*/'>', '>', '>', '>', ' ', '>', '>', /*'#'*/'<', '<', '<', '<', '<', ' ', '=', }; typedef struct StackChar { char c; struct StackChar *next; }SC; //StackChar类型的结点SC typedef struct StackFloat { float f; struct StackFloat *next; }SF; //StackFloat类型的结点SF SC *Push(SC *s, char c) //SC类型的指针Push,返回p { SC *p = (SC*)malloc(sizeof(SC)); p->c = c; p->next = s; return p; } SF *Push(SF *s, float f) //SF类型的指针Push,返回p { SF *p = (SF*)malloc(sizeof(SF)); p->f = f; p->next = s; return p; } SC *Pop(SC *s) //SC类型的指针Pop { SC *q = s; s = s->next; free(q); return s; } SF *Pop(SF *s) //SF类型的指针Pop { SF *q = s; s = s->next; free(q); return s; } float Operate(float a, unsigned char theta, float b) //计算函数Operate