---恢复内容开始---
#题目 在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测试通过