2017年软件工程第四次作业-2单元测试
结伴同学:黄泽宇
地址: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  
                    
                