20175225 《Arrays和String單元測試》

---恢復內容開始---java

題目

在IDEA中以TDD的方式對String類和Arrays類進行學習,測試相關方法的正常,錯誤和邊界狀況git

- 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異常
3d

split異常
code

String測試經過截圖
對象

sort異常
blog

binarySearch異常

Arrays測試經過

代碼託管

相關文章
相關標籤/搜索