Arrays和String单元测试(课下作业,选做)

在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(0));//边界情况
        assertEquals('g',a.charAt(8));//正常情况多选一
        assertEquals('.',a.charAt(12));//正常情况
    }

    @Test
    public void testSplit() {
        assertEquals("Java",split.split(" ")[0]);//返回字符数组,边界情况
        assertEquals("favourite",split.split(" ")[3]);//返回字符数组,正常情况
        assertEquals("zeng",b.split("-")[0]);//返回字符数组,边界情况
        assertEquals("xiang",b.split("-")[1]);//返回字符数组,正常情况

    }
}

异常结果:

  • 查找位置小于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[]{2,3,1,9,5,0,8,6,7};

    int[] d = new int[] {9, 8, 1, 7, 6, 2};

    @Test

    public void testBinarySearch() throws Exception{
        assertEquals(0,Arrays.binarySearch(c,2));
        assertEquals(4,Arrays.binarySearch(d,6));
        assertEquals(1,Arrays.binarySearch(c,3));
        assertEquals(-4,Arrays.binarySearch(d,5));
    }

    @Test

    public void testSort() throws Exception{
        Arrays.sort(c);
        Arrays.sort(d);
        assertEquals(0,c[0]);//边界情况
        assertEquals(7,c[6]);//正常情况
        assertEquals(9,d[5]);//边界情况
        assertEquals(7,d[3]);//正常情况
    }




}

异常情况

  • 下标越界

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

原文地址:https://www.cnblogs.com/zxja/p/10746039.html