文档章节

Junit3.8 Stack测试

d
 danere
发布于 2016/05/11 23:42
字数 756
阅读 2
收藏 0
  1 package test;
  2 
  3 public class MyStack
  4 {
  5     private String[] elements;
  6     
  7     private int nextIndex;
  8     
  9     public MyStack()
 10     {
 11         elements = new String[100];
 12         nextIndex = 0;
 13     }
 14     
 15     public void push(String element) throws Exception
 16     {
 17         if(100 == nextIndex)
 18         {
 19             throw new Exception("数组越界异常!");
 20         }
 21         
 22         elements[nextIndex++] = element;
 23     }
 24     
 25     public String pop() throws Exception
 26     {
 27         if(0 == nextIndex)
 28         {
 29             throw new Exception("数组越界异常!");
 30         }
 31         
 32         return elements[--nextIndex];
 33     }
 34     
 35     public void delete(int n) throws Exception
 36     {
 37         if(nextIndex - n < 0)
 38         {
 39             throw new Exception("数组越界异常!");
 40         }
 41         
 42         nextIndex -= n;
 43     }
 44     
 45     public String top() throws Exception
 46     {
 47         if(0 == nextIndex)
 48         {
 49             throw new Exception("数组越界异常!");
 50         }
 51         
 52         return elements[nextIndex - 1];
 53     }
 54     
 55 }
 56 
 57 package junit;
 58 
 59 import junit.framework.Assert;
 60 import junit.framework.TestCase;
 61 
 62 @SuppressWarnings("deprecation")
 63 public class MyStackTest extends TestCase
 64 {
 65     private MyStack myStack;
 66 
 67     @Override
 68     public void setUp() throws Exception
 69     {
 70         myStack = new MyStack();
 71     }
 72     
 73     //测试正常情况的一般情况,向栈内放入一个元素,然后取出。
 74     public void testPush()
 75     {
 76         try
 77         {
 78             myStack.push("hello world");
 79         }
 80         catch (Exception e)
 81         {
 82             Assert.fail();
 83         }
 84 
 85         String result = null;
 86 
 87         try
 88         {
 89             result = myStack.pop();
 90         }
 91         catch (Exception ex)
 92         {
 93 
 94         }
 95 
 96         Assert.assertEquals("hello world", result);
 97     }
 98 
 99     //测试正常情况的临界情况,即放入100个元素栈是否会出错
100     public void testPush2()
101     {
102         for (int i = 0; i < 100; i++)
103         {
104             try
105             {
106                 myStack.push(i + "");
107             }
108             catch (Exception ex)
109             {
110                 Assert.fail();
111             }
112         }
113 
114         for (int i = 0; i < 100; i++)
115         {
116             String result = null;
117 
118             try
119             {
120                 result = myStack.pop();
121             }
122             catch (Exception ex)
123             {
124 
125             }
126 
127             Assert.assertEquals((99 - i) + "", result);
128         }
129     }
130     
131     //测试异常情况,101个元素输入
132     public void testPush3()
133     {
134         Exception tx = null;
135 
136         try
137         {
138             for (int i = 0; i <= 100; i++)
139             {
140                 myStack.push(i + "");
141             }
142 
143             Assert.fail();
144         }
145         catch (Exception ex)
146         {
147             tx = ex;
148         }
149 
150         assertData(tx);
151     }
152 
153     public void testPop()
154     {
155         try
156         {
157             myStack.push("hello world");
158         }
159         catch (Exception e)
160         {
161 
162         }
163 
164         String result = null;
165 
166         try
167         {
168             result = myStack.pop();
169         }
170         catch (Exception ex)
171         {
172             Assert.fail();
173         }
174 
175         Assert.assertEquals("hello world", result);
176     }
177 
178     public void testPop2()
179     {
180         Throwable tx = null;
181 
182         try
183         {
184             myStack.pop();
185 
186             Assert.fail();
187         }
188         catch (Exception ex)
189         {
190             tx = ex;
191         }
192 
193         assertData(tx);
194     }
195 
196     public void testPop3()
197     {
198         Throwable tx = null;
199 
200         try
201         {
202             myStack.push("hello");
203         }
204         catch (Exception ex)
205         {
206 
207         }
208 
209         try
210         {
211             myStack.pop();
212             myStack.pop();
213 
214             Assert.fail();
215         }
216         catch (Exception ex)
217         {
218             tx = ex;
219         }
220 
221         assertData(tx);
222     }
223 
224     public void testTop()
225     {
226         try
227         {
228             myStack.push("hello");
229         }
230         catch (Exception ex)
231         {
232 
233         }
234 
235         String result = null;
236 
237         try
238         {
239             result = myStack.top();
240         }
241         catch (Exception ex)
242         {
243             Assert.fail();
244         }
245 
246         Assert.assertEquals("hello", result);
247     }
248 
249     public void testTop2()
250     {
251         Throwable tx = null;
252 
253         try
254         {
255             myStack.top();
256 
257             Assert.fail();
258         }
259         catch (Exception ex)
260         {
261             tx = ex;
262         }
263 
264         assertData(tx);
265     }
266 
267     public void testDelete()
268     {
269         try
270         {
271             for (int i = 0; i < 10; i++)
272             {
273                 myStack.push(i + "");
274             }
275 
276             myStack.delete(10);
277         }
278         catch (Exception ex)
279         {
280             Assert.fail();
281         }
282     }
283 
284     public void testDelete2()
285     {
286         Throwable tx = null;
287 
288         try
289         {
290             for (int i = 0; i < 10; i++)
291             {
292                 myStack.push(i + "");
293             }
294 
295             myStack.delete(11);
296 
297             Assert.fail();
298         }
299         catch (Exception ex)
300         {
301             tx = ex;
302         }
303 
304         assertData(tx);
305     }
306 
307     private void assertData(Throwable tx)
308     {
309         Assert.assertNotNull(tx);
310         Assert.assertEquals(Exception.class, tx.getClass());
311         Assert.assertEquals("数组越界异常!", tx.getMessage());
312     }
313 
314 }

 

本文转载自:http://www.cnblogs.com/daneres/p/4688385.html

下一篇: TCP
d
粉丝 0
博文 51
码字总数 0
作品 0
泉州
私信 提问
请问junit是java单元测试的标准吗?

junit3是很多年前的了,为什么现在还有使用junit3的? 为什么maven自动添加的junit依赖是junit3.8?

cc12
2016/11/16
111
0
Junit 4 学习笔记(一、注释学习)

1.@Before: 表示该方法在每个测试方法执行前执行一次,可用于一些初始工作。 2.@BeforeClass: 该方法在所有测试方法运行前运行,且只运行一次,添加该注释的方法必须修饰为 public static vo...

gerry_pang
2014/03/27
596
0
输出给定数组中所有和为S的可能组合

如果给定一个整数数组和一个目标数S,如何输出该数组中所有和为S的可能组合? 例如, 给定数组 如下: 那么和为15的可能组合有如下几种: 本文采用如下两种方法来实现: 借助Stack实现 不借助...

王孟君
2016/10/26
226
0
Java 集合系列-第六篇-Stack详细介绍

Stack详细介绍 Stack是栈。它的特性是:先进后出(FILO, First In Last Out)。java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组实现的,这就意味着,Stack也是通过数组实...

简心
2018/09/10
15
0
Java集合Stack源码深入解析

概要 学完Vector了之后,接下来我们开始学习Stack。Stack很简单,它继承于Vector。学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。 第1...

sihailoveyan
2018/05/17
15
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
7
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
10
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
9
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部