电梯调度部分函数单元测试

int TOW(int Foutside, int Fcurrent, int Fmax, int Fmin, int N, int state) //T1,T2作为常量
        {
            if (state == 0)//外信号与电梯运行方向相同,且在前方

                return System.Math.Abs(Foutside - Fcurrent) * T1 + N * T2;

            else if (state == 1)//外信号与电梯运行方向相同,且在后方

                return (System.Math.Abs(Fmax - Fcurrent) + System.Math.Abs(Fmax - Fmin) + System.Math.Abs(Fmin - Foutside)) * T1 + N * T2;

            else                //外信号与电梯运行反方向相反
                return (System.Math.Abs(Fmax - Fcurrent) + System.Math.Abs(Fmax - Foutside)) * T1 + N * T2;

        }

这是计算当前乘客等待时间的一个方法,Foutside表示外信号所在楼层,Fcurrent表示电梯当前所在楼层,Fmax为电梯运行方向的最远层,Fmin为电梯运行反方向的最远层。 N表示需要停留的楼层总数,t1为电梯运行一个楼层的时间,t2为电梯在一个楼层停留时间。

单元测试程序如下 

 public void TOWTest()
        {
            MyScheduler_Accessor target = new MyScheduler_Accessor(); // TODO: 初始化为适当的值
            int Foutside = 0; // TODO: 初始化为适当的值
            int Fcurrent = 0; // TODO: 初始化为适当的值
            int Fmax = 0; // TODO: 初始化为适当的值
            int Fmin = 0; // TODO: 初始化为适当的值
            int N = 0; // TODO: 初始化为适当的值
            int state = 0; // TODO: 初始化为适当的值
            int expected = 0; // TODO: 初始化为适当的值
            int actual;
            actual = target.TOW(Foutside, Fcurrent, Fmax, Fmin, N, state);
            Assert.AreEqual(expected, actual);
            Assert.IsTrue(actual==0);
        }
    }
}

结果为通过。
改为复杂一点的测试数据。

public void TOWTest()
        {
            MyScheduler_Accessor target = new MyScheduler_Accessor(); // TODO: 初始化为适当的值
            int Foutside = 15; // TODO: 初始化为适当的值
            int Fcurrent = 12; // TODO: 初始化为适当的值
            int Fmax = 16; // TODO: 初始化为适当的值
            int Fmin = 2; // TODO: 初始化为适当的值
            int N = 3; // TODO: 初始化为适当的值
            int state = 1; // TODO: 初始化为适当的值
            int expected = 0; // TODO: 初始化为适当的值
            int actual;
            actual = target.TOW(Foutside, Fcurrent, Fmax, Fmin, N, state);
            Assert.AreEqual(expected, actual);
            Assert.IsTrue(actual==170);
        }

测试结果为通过。

这是一个很简单的函数,但是从中可以看到单元测试的作用。

 

 

 

posted @ 2012-10-21 23:45  MagicCode1023  阅读(347)  评论(0编辑  收藏  举报