在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. Math.floor(Math.random()*3+1)

    Math.random():获取0~1随机数 Math.floor() method rounds a number DOWNWARDS to the nearest integer, and ret ...

  2. qsv文件转码mp4格式过程记录

    之前帮一个朋友剪辑配音视频,源文件在爱奇艺里,特有的qsv格式让我白忙活一下午. 晚上趁着有空,在网上查找资料,翻阅了很多文件,都让我无从下手. 基本都是一个套路,转成fiv格式,再转mp4格式,但是 ...

  3. javascript排序算法-选择排序

    选择排序 概念:选择排序大致的思路是找到数据结构中的最小值并将其放置在第一位,接着找到第二小的值并将其放在第二位,以此类推. 复杂度: O(n^2) 代码实现 var swap = function ...

  4. FreeNas搭建踩坑指南(二)

    0x00 权限配置 FreeNas完成后配置用户组及权限,新建用户和用户组后添加Samba共享(Windows模式),无法准确控制权限,尝试在系统中修改权限提示"Operation not ...

  5. STL源码剖析-vector

    STL(Standard Template Library) C++标准模板库,acm选手一定对它不陌生,除了算法,那几乎是“吃饭的家伙了”.我们使用库函数非常方便,且非常高效(相对于自己实现来说). ...

  6. 智能指针std::unique_ptr

    std::unique_ptr 1.特性 1) 任意时刻只能由一个unique_ptr指向某个对象,指针销毁时,指向的对象也会被删除(通过内置删除器,通过调用析构函数实现删除对象) 2)禁止拷贝和赋值 ...

  7. 解决ajax跨域访问sessionid不一致问题

    根据浏览器的保护规则,跨域的时候我们创建的sessionId是不会被浏览器保存下来的,这样,当我们在进行跨域访问的时候,我们的sessionId就不会被保存下来,也就是说,每一次的请求,服务器就会以为 ...

  8. python3 list列表随机选取一个元素、随机选择一个user-agent

    爬虫时适当更换user-agent可以稍微规避一下代理被封的风险... from random import sample ua = [ 'Mozilla/4.0 (compatible; MSIE ...

  9. 从零开始制作 Hexo 主题

    原文地址:从零开始制作 Hexo 主题 · Ahonn 写在前面 本文将会从零开始开发一个简单的博客主题.样式主要参考 Hexo theme 中的 Noise 主题. 开始之前你需要了解: 模板引擎  ...

  10. antd pro 分支

    添加图片 这两种都可以 form表单问题 1 @Form.create() 这是绑定表单和组件,必须有,这样就能从this.props 中找到Form了 2 Select 要写initialValue ...