博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
螺旋矩阵Junit测试
阅读量:2491 次
发布时间:2019-05-11

本文共 4290 字,大约阅读时间需要 14 分钟。

最近在看Junit,正好上一篇写了螺旋矩阵算法,顺便写个测试代码。

创建Junit,我用的是eclipse,它自带Junit。所以比较简单,不需要安装

方法就是先右键java项目,选Build Path,AddLibraries,打开之后选Junit。

然后你会发现在类里面多了个luoxuanTest,然后编写代码。因为用Junit测试需要用一个返回值,所以我稍微改了一下luoxuan.java的代码,加了一个返回值。

luoxuan.java的代码:

package news;import java.util.Scanner;public class luoxuan {	public static final int NMAX = 100;	public static void main(String [] arg){	/* 	 * 编程输出螺旋方阵.螺旋方阵是指将从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。如4阶的螺旋方阵形式如下:1    2     3     412  13  14    511  16  15    610   9    8      7要求:1)从键盘输入螺旋方阵的阶数        2)代码有注释        3)对算法的思路给出文字描述  	 	 */		System.out.println("请输入螺旋矩阵阶数:");	 	Scanner scanner=new Scanner(System.in);	 	int n=scanner.nextInt();		 	int[][] arrays=new int[NMAX][NMAX];			 		 	int i,j;	 	for(i=0;i
z) break; arrays[i][j] = ou++; } for(j--,i++;i
z) break; arrays[i][j] = ou++; } for(i--,j--;j>=c;j--)//从右到左 { if(ou>z) break; arrays[i][j] = ou++; } for(j++,i--;i>=c+1;i--)//从下到上 { if(ou>z) break; arrays[i][j] = ou++; } c++; } //System.out.println(arrays[2][3]); return arrays; } static int[][] getluoxuan11(int [][]arrays,int n) { // System.out.println("从矩阵的左上角开始从数字的最大值开始螺旋"); int c=0,i,j; int z = n*n; int ou=z; while(ou>=1) { i=0; j=0; for(i+=c,j+=c;j
z) break; arrays[i][j] = ou--; } for(j--,i++;i
z) break; arrays[i][j] = ou--; } for(i--,j--;j>=c;j--)//从右到左 { if(ou>z) break; arrays[i][j] = ou--; } for(j++,i--;i>=c+1;i--)//从下到上 { if(ou>z) break; arrays[i][j] = ou--; } c++; } return arrays; } static int[][] getluoxuan2(int [][]arrays,int n) {// System.out.println("从矩阵的右上角开始从数字1开始螺旋:"); int c=0,i,j; int z = n*n; int ou=1; while(ou<=z) { i=0; j=0; for(i=c,j=n-c-1;j>=c;j--) //从右到左 { if(ou>z) break; arrays[i][j] = ou++; } for(j++,i++;i
z) break; arrays[i][j] = ou++; } for(i--,j++;j
z) break; arrays[i][j] = ou++; } for(j--,i--;i>=c+1;i--)//从下到上 { if(ou>z) break; arrays[i][j] = ou++; } c++; } return arrays; } static int[][] getluoxuan22(int [][]arrays,int n) { // System.out.println("从矩阵的右上角开始从矩阵的最大值开始螺旋:"); int c=0,i,j; int z = n*n; int ou=z; while(ou>=1) { i=0; j=0; for(i=c,j=n-c-1;j>=c;j--) //从右到左 { if(ou>z) break; arrays[i][j] = ou--; } for(j++,i++;i
z) break; arrays[i][j] = ou--; } for(i--,j++;j
z) break; arrays[i][j] = ou--; } for(j--,i--;i>=c+1;i--)//从下到上 { if(ou>z) break; arrays[i][j] = ou--; } c++; } return arrays; } }

测试代码:luoxuanTest.java:

package news;import static org.junit.Assert.*;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;public class luoxuanTest {	public static final int[][] ARRAYS=new int[100][100];	public static final int N=4;		@BeforeClass	public static void setUpBeforeClass() throws Exception {		 System.out.println("this is setUpBeforeClass()...");	}	@AfterClass	public static void tearDownAfterClass() throws Exception {		System.out.println("this is tearDownAfterClass()...");	}	@Before	public void setUp() throws Exception {		int ii,jj;	 	for(ii=0;ii<100;ii++)	 	for(jj=0;jj<100;jj++)	 	ARRAYS[ii][jj] = 0;				System.out.println("this is setUp()...");	}	@After	public void tearDown() throws Exception {		System.out.println("this is tearDown()...");	}/*	@Test	public final void testMain() {		fail("Not yet implemented"); // TODO	}	@Test	public final void testDisplay() {		fail("Not yet implemented"); // TODO	}*/	@Test	public final void testGetluoxuan1() {		System.out.println("测试最小值在左上角的算法是否正确:");          int result = (luoxuan.getluoxuan1(ARRAYS, N))[2][3];                assertEquals("测试最小值在左上角的算法不正确",6, result);  	}	@Test	public final void testGetluoxuan11() {		System.out.println("测试最大值在左上角的算法是否正确:");          int result = (luoxuan.getluoxuan11(ARRAYS, N))[2][3];                assertEquals("测试最大值在左上角的算法不正确",11, result);  	}	@Test	public final void testGetluoxuan2() {		System.out.println("测试最小值在右上角的算法是否正确:");          int result = (luoxuan.getluoxuan2(ARRAYS, N))[3][2];              assertEquals("测试最小值在右上角的算法不正确",9, result);  	}	@Test	public final void testGetluoxuan22() {		System.out.println("测试最大值在右上角的算法是否正确:");          int result = (luoxuan.getluoxuan22(ARRAYS, N))[3][2];              assertEquals("测试最大值在右上角的算法不正确",8, result);  	}}
然后发现是绿色的,说明正确。
你可能感兴趣的文章
ceph删除pool提示(you must first set the mon_allow_pool_delete config option to true)解决办法...
查看>>
2016-7-15(1)使用gulp构建一个项目
查看>>
CSS 设计指南(第3版) 初读笔记
查看>>
markdown学习/mou
查看>>
CentOS 搭建 LAMP服务器
查看>>
记录在Spring-Boot中使用Fegin调用RESTfull的PATCH方法设置
查看>>
Php和httpd.conf的配置
查看>>
正则10-18
查看>>
Java并发编程:volatile关键字解析
查看>>
4 sum
查看>>
trapping rain water
查看>>
集合习题之列出有限集合所有子集
查看>>
hdu1728--------坑爹啊
查看>>
浅谈性能测试分析
查看>>
mui 结束时间不能大于开始时间
查看>>
SQL创建表格——手写代码
查看>>
1、Canvas的基本用法
查看>>
两个链表的第一个公共结点-输入两个链表,找出它们的第一个公共结点。
查看>>
Swagger+AutoRest 生成web api客户端(.Net)
查看>>
setTimeout详解
查看>>