20175225 《Arrays和String单元测试》

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

题目

在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测试通过

代码托管

猜你喜欢

转载自www.cnblogs.com/zhangdeshuai/p/10746680.html