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

  • - String类

  • - charAt
  • - split
  • - Arrays类

  • - sort
  • - binarySearch

具体内容:

一、String类相关方法的单元测试

  • charAt

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

  • split

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

测试结果:

代码如下:

import junit.framework.*;

import org.junit.Test;

import java.lang.String;

public class TestString extends TestCase {

    String a = new String("zengxiangjie.");
String b = new String("zeng-xiang-jie");
String split = "Java is my favourite class"; @Test
public void testcharAt() throws Exception{
assertEquals('z',a.charAt());//边界情况
assertEquals('g',a.charAt());//正常情况多选一
assertEquals('.',a.charAt());//正常情况
} @Test
public void testSplit() {
assertEquals("Java",split.split(" ")[]);//返回字符数组,边界情况
assertEquals("favourite",split.split(" ")[]);//返回字符数组,正常情况
assertEquals("zeng",b.split("-")[]);//返回字符数组,边界情况
assertEquals("xiang",b.split("-")[]);//返回字符数组,正常情况 }
}

异常结果:

  • 查找位置小于0

  • 查找位置溢出

二、Arrays类相关方法的单元测试

  • sort

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

  • binarySearch

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

测试结果:

代码如下:

import junit.framework.*;

import org.junit.Test;

import java.util.Arrays;

public class TestArrays extends TestCase {

    int[] c = new int[]{,,,,,,,,};

    int[] d = new int[] {, , , , , };

    @Test

    public void testBinarySearch() throws Exception{
assertEquals(,Arrays.binarySearch(c,));
assertEquals(,Arrays.binarySearch(d,));
assertEquals(,Arrays.binarySearch(c,));
assertEquals(-,Arrays.binarySearch(d,));
} @Test public void testSort() throws Exception{
Arrays.sort(c);
Arrays.sort(d);
assertEquals(,c[]);//边界情况
assertEquals(,c[]);//正常情况
assertEquals(,d[]);//边界情况
assertEquals(,d[]);//正常情况
} }

异常情况

  • 下标越界

码云链接(https://gitee.com/zxjacdl/zxj175221/tree/master/arrayandstr)

Arrays和String单元测试(课下作业,选做)的更多相关文章

  1. 20175221 《Java程序设计》迭代和JDB(课下作业,选做):

    20175221 <Java程序设计> 迭代和JDB(课下作业,选做): 任务详情 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功 ...

  2. MyOD(课下作业,选做)

    MyOD(课下作业,选做) 代码要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.b ...

  3. 迭代和JDB(课下作业,选做)

    迭代和JDB(课下作业,选做) 题目要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图 ...

  4. 20175314薛勐 MyOD(课下作业,选做)

    MyOD(课下作业,选做) 要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 思路 伪代码: 读取命令行输入的参数(文件名) 以16为每个字 ...

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

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

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

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

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

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

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

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

  9. 20155322 2017-2018-1《信息安全系统设计》第十周 课下作业-IPC

    20155322 2017-2018-1<信息安全系统设计>课下作业-IPC 作业内容 研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接. 共享内存 管 ...

  10. 20175221 MyCP(课下作业,必做)

    MyCP(课下作业,必做) 任务详情 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: - java MyCP -tx XXX1.txt XXX2 ...

随机推荐

  1. 适合精致女孩使用的APP软件 不容错过的精彩人生

    阳光下灿烂,风雨中奔跑,每个人都会遇见美丽的缘分,或深或浅,或浓或淡.所以人生不管遇到什么难题,都要勇往直前.今天分享的软件也是十分精彩的,非常适合精彩的你哦! 薄荷健康 薄荷健康APP是专为想要减肥 ...

  2. 【English】七、常见动词

    一.动词: touch.hear.say.listen touch [tʌtʃ] 触摸 I touch the cat. They touch the elephant. hear  [hɪr] 听到 ...

  3. ngnix简单使用

    NGINX是一个高性能HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,是由伊戈尔·塞索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公版发布于2004年10月4日 ...

  4. Maven deploy部署jar包到远程私仓

    Maven deploy部署jar包到远程私仓 maven deploy介绍 maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的 ...

  5. 【视频】设计模式(Java)视频讲解

    设计模式(JAVA) 视频网址: http://www.qghkt.com/ 设计模式(JAVA)视频地址: https://ke.qq.com/course/318643?tuin=a508ea62 ...

  6. 记录一次Orthanc dicom数据异常手动修复

    问题复现场景 同一个StudyInstanceUID,对应两个不同的PatientID. 通俗讲,原本是一个病人的一次影像,却割裂成两个病人的影像,虽然两个病人不影响系统数据,但是同一个Study分别 ...

  7. 安装mysql8.0.12

    安装mysql8.0.12 https://blog.csdn.net/zwj1030711290/article/details/80039780 问题1:忘记记录日志打印的密码就把窗口给关了 解决 ...

  8. 野指针与'关键字'NULL

    野指针与'关键字'NULL 一.NULL是什么? 在C/C++中的标准定义: #ifdef __cplusplus //条件编译,判断是c++还是c环境 #define NULL 0 //c++环境 ...

  9. Django 数据库读写分离 分库分表

    多个数据库 配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BA ...

  10. jenkins自动化部署vue

    一.nodejs配置 首先加入nodejs插件 在配置里面配置这个插件 这样我们就能在自动构建发布的配置里看到nodejs的编译选项了 二.发布配置 首先新建一个自由风格的项目 然后配置构建保留天数和 ...