筱天考研加油 ------ 博客首页

基于VS快速排序的单元测试

1.选择开发工具

1.1由于Visual stdio 已经安装,所以运行界面如下图所示:

2.进行单元测试

2.1用Visual stdio 2017创建一个新项目(快速排序)如下图所示:


其中程序如下所示:

#include<stdio.h>

void swap(int &a, int &b)
{
	int t = a;
	a = b;
	b = t;
}

void quick(int *a, int s, int t)
{
	int i = s, j = t + 1;
	do
	{
		do i++; while (a[i] > a[s]);
		do j--; while (a[j] < a[s]);
		if (i < j) 
			swap(a[i], a[j]);
	} while (i < j);
	swap(a[s], a[j]);
	if (s < j - 1)
		quick(a, s, j - 1);
	if (j + 1 < t)
		quick(a, j + 1, t);
}

void print(int *a, int n)
{
	int i;
	for (i = 0; i < n; i++)
		printf("%d ", a[i]);
	printf("\n");
}
int main()
{
	int a[1800], i;
	for (i = 0; i < 1800; i++)
		a[i] = 2300 + i;
	quick(a, 0, 1799);
	print(a, 10);
	return 0;
}

2.2快速排序的结果如图所示:

2.3对代码添加一个单元测试:


单元测试核心代码如下所示:

        TEST_CLASS(UnitTest1)
	{
	    public:
		
		TEST_METHOD(TestMethod1)
		{
			int res[10] = { 4,3,2,1,0,-1,-2,-3,-4,-5 };
			int test[10] = { 1,2,3,4,0,-1,-2,-3,-4,-5 };
			quick(test, 0, 9);
			for (int i = 0; i < 10; i++)
			{
				Assert::AreEqual(test[i], res[i]);
			}
		}

		TEST_METHOD(TestMethod2)
		{
			int res[10] = { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 };
			int test[10] = { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 };
			quick(test, 0, 9);
			for (int i = 0; i < 10; i++)
			{
				Assert::AreEqual(test[i], res[i]);
			}
		}

	};

2.4从文件中找到依赖项地址:

3.最后结果分析

3.1所得结果测试完全通过,并且截图如下:

posted @ 2019-04-12 20:04  林天成  阅读(464)  评论(0编辑  收藏  举报