---恢复内容开始---

#题目
在IDEA中以TDD的方式对String类和Arrays类进行学习,测试相关方法的正常,错误和边界情况

- String类

      - charAt
- split
- Array类 - sort
- binarySearch

单元测试

1.String类

(1).charAt

该方法返回位于字符串的指定索引处的字符,字符串的索引从零开始,其中index是指字符的索引,即下标。

测试代码:

public class StringTest extends TestCase {
String str1 = new String("Hello java");
String str2 = new String("你好,沙雕");
String s = new String("http://jwc.besti.edu.cn/ ni zhen sha diao"); @Test
public void testcharAt() throws Exception {
assertEquals('l', str1.charAt(3)); //正常情况
assertEquals(' ', str1.charAt(5)); //正常情况
assertEquals('好', str2.charAt(1)); //正常情况
assertEquals(':', s.charAt(4)); //正常情况
assertEquals('a', str1.charAt(9)); //边界情况
assertEquals('你', str2.charAt(0)); //边界情况
//assertEquals(' ',str1.charAt(-1)); //异常情况
//assertEquals('哇',str2.charAt(5)); //异常情况
}

(2).split

该方法是用于分隔字符串,得到一个字符数组。

测试代码:

public class StringTest extends TestCase {
String str1 = new String("Hello java");
String str2 = new String("你好,沙雕");
String s = new String("http://jwc.besti.edu.cn/ ni zhen sha diao");
public void testsplit() throws Exception {
assertEquals("http://jwc",s.split("[.]")[0]); //正常情况
assertEquals("http://jwc.besti.edu.cn/",s.split(" ")[0]); //正常情况
assertEquals("jwc.besti.edu.cn",s.split("/")[2]); //正常情况
assertEquals("",s.split("\\p{Lower}")[0]); //边界情况
assertEquals("diao",s.split("\\s")[4]); //边界情况
assertEquals("jwc.besti.edu.cn",s.split("/")[1]); //异常情况
assertEquals(" ",s.split(" ")[-1]); //异常情况
}
}

2.Arrays类

(1).sort

该方法用于数组排序,默认是升序排列,但是可以通过修改compareTo中的返回值来变为降序排列。

测试代码

public class ArraysTest extends TestCase{
int a[] = {2,5,6,4,9,3};
char b[] = {'d','y','a','t','z','h'};
String s[] = {"1","8","4","0","7","3"};
@Test
public void testsort() throws Exception {
Arrays.sort(a);
assertEquals("[2, 3, 4, 5, 6, 9]",Arrays.toString(a));
Arrays.sort(b,1,4);
assertEquals("[d, a, t, y, z, h]",Arrays.toString(b));
assertEquals('t',b[2]);
//assertEquals('a',b[0]); //异常情况
Arrays.sort(s);
assertEquals("[0, 1, 3, 4, 7, 8]",Arrays.toString(s));
}
}

(2).binarySearch类

该方法使用二分搜索法来搜索指定的数组,以获得指定对象,返回要搜索元素的索引值

测试代码

public class ArraysTest extends TestCase{
int a[] = {2,5,6,4,9,3};
@Test
public void testbinarySearch() throws Exception {
Arrays.sort(a);
assertEquals(3,Arrays.binarySearch(a,5));
//assertEquals(-1,Arrays.binarySearch(a,10)); //异常情况
//assertEquals(-2,Arrays.binarySearch(a,0)); //异常情况
}
}

测试截图

charAt异常

split异常

String测试通过截图

sort异常

binarySearch异常

Arrays测试通过

代码托管

20175225 《Arrays和String单元测试》的更多相关文章

  1. 20175209 《Arrays和String单元测试》

    20175209 <Arrays和String单元测试> 题目 在IDEA中以TDD的方式对String类和Arrays类进行学习,测试相关方法的正常,错误和边界情况 String类 ch ...

  2. 学号20175313 《Arrays和String单元测试》第八周

    目录 Arrays和String单元测试 一.String类相关方法的单元测试 二.Arrays类相关方法的单元测试 三.测试过程中遇到的问题及其解决方法 四.码云链接 五.参考资料 Arrays和S ...

  3. Arrays和String单元测试

    20175227张雪莹 2018-2019-2 <Java程序设计> Arrays和String单元测试 要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关 ...

  4. 20175314薛勐 Arrays和String单元测试

    Arrays和String单元测试(课下作业,选做) 要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 CharAt Spl ...

  5. Arrays和String单元测试-20175218

    Arrays和String单元测试 一.题目 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arra ...

  6. 20175316 盛茂淞 Arrays和String单元测试

    Arrays和String单元测试 具体描述: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arr ...

  7. 20175229张智敏 Arrays和String单元测试

    Arrays和String单元测试 1.具体要求: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split A ...

  8. 20155228 2017-5-10 课堂测试:Arrays和String单元测试

    20155228 2017-5-10 课堂测试:Arrays和String单元测试 题目和要求 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 ...

  9. 《Java 程序设计》课堂实践项目-Arrays和String单元测试

    <Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...

  10. 补交20145226蓝墨云班课 -- Arrays和String单元测试

    蓝墨云班课 -- Arrays和String单元测试 具体描述: 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt ...

随机推荐

  1. 多行文本文本输入框 textarea 可点击任意地方编辑的问题

    遇到了一个问题: textarea可以点击任意地方编辑 原因: textarea中间我换行了 改成: 就正常了.

  2. docker部署安装

    docker采用Linux内核技术,所以只能运行在Linux上,所谓的windows平台是使用boot2Docker工具,boot2Docker是在VisualBox构建一个linux精简化环境. B ...

  3. rpm打包tomcat

    1.制作rpm包 yum install rpm-build -y 2.创建工作目录 mkdir -pv ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} 3.准 ...

  4. Python复习笔记(四)高阶函数/返回函数/匿名函数/偏函数/装饰器

    一.map/reduce map map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次 作用到序列的每个元素,并把结果作为新的Iterator返回. reduce r ...

  5. QT_文本编辑器_源码下载

    源码下载: 链接: http://pan.baidu.com/s/1c21EVRy 密码: qub8 实现主要的功能有:新建,打开,保存,另存为,查找(查找的时候需要先将光标放到最下面位置才能查全,不 ...

  6. jQuery基础 (一)——样式篇(jQuery选择器)

    一.选择器类型 id选择器 class选择器 元素选择器 层级选择器 全选择器(*选择器) 二.有几种方式可以隐藏一个元素: CSS display的值是none. type="hidden ...

  7. Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程

    待解决的问题 Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程 解决办法 为spring session添加spr ...

  8. python -- 异步IO 协程

    python 3.4 >>> import asyncio >>> from datetime import datetime >>> @asyn ...

  9. .NET面试题系列(十二)Dictionary原理

    序言 Dictionary Dictionary的开发人员都了解,和List相比,字典添加会慢,但是查找会比较快. Dictionary的本质 --- 两个数组.这是典型的用空间换取时间的做法. 先来 ...

  10. 17. Spring Boot 配置嵌入式Servlet容器

    一.如何定制和修改Servlet容器的相关配置 1.配置文件(ServerProperties): 优先级最高 server.port=8081 server.context‐path=/crud s ...