Arrays和String单元测试(课下作业,选做)
要求
在IDEA中以TDD的方式对String类和Arrays类进行学习
- 测试相关方法的正常,错误和边界情况
- String类
- CharAt
- Split
- Arrays类
- Sort
- binarySearch
思路
String类:
- CharAt(int index)方法
该方法返回位于字符串的指定索引处的字符,字符串的索引从零开始,其中index是指字符的索引,即下标。 - Split()方法
该方法是用于分隔字符串,得到一个字符数组。
Arrays类:
- Sort()方法
该方法用于数组排序,默认是升序排列,但是可以通过修改compareTo中的返回值来变为降序排列。 - binarySearch()方法
该方法运于查找元素在数组中的位置。
代码
String类测试
testCharAt.java:
import org.junit.Test;
import junit.framework.TestCase;
public class testCharAt extends TestCase {
String s = "I love studying more than anything!";
@Test
public void testCharAt() {
assertEquals('o',s.charAt(3)); //1
assertEquals(' ',s.charAt(6)); //2
assertEquals('m',s.charAt(16)); //3
assertEquals('t',s.charAt(21)); //4
//assertEquals('e',s.charAt(4)); //5
//assertEquals(' ',s.charAt(22)); //6
}
}
testSplit.java:
import org.junit.Test;
import junit.framework.TestCase;
public class testSplit extends TestCase {
String s = "I love studying more than anything!";
@Test
public void testSplit() {
assertEquals("I",s.split(" ")[0]); //1
assertEquals("love", s.split(" ")[1]); //2
assertEquals("studying", s.split(" ")[2]); //3
assertEquals("more", s.split(" ")[3]); //4
assertEquals("than", s.split(" ")[4]); //5
//assertEquals("anything!", s.split(" ")[5]); //6
//assertEquals(".",s.split(" ")[3]); //4
}
}
Arrays类测试
testSort.java:
import junit.framework.TestCase;
import org.junit.Test;
import java.util.Arrays;
public class testSort extends TestCase {
int[] i = {5, 3, 1, 4};
@Test
public void testSort() {
Arrays.sort(i);
assertEquals(1, i[0]); //1
assertEquals(3, i[1]); //2
assertEquals(4, i[2]); //3
assertEquals(5, i[3]); //4
//assertEquals(1, i[3]); //5
}
}
testbinarySearch.java:
import junit.framework.TestCase;
import org.junit.Test;
import java.util.Arrays;
import static java.util.Arrays.binarySearch;
public class testbinarySearch extends TestCase {
int[] i = {5, 3, 1, 4};
@Test
public void testSort() {
Arrays.sort(i);
assertEquals(0, binarySearch(i,1)); //1
assertEquals(1, binarySearch(i,3)); //2
assertEquals(2, binarySearch(i,4)); //3
assertEquals(3, binarySearch(i,5)); //4
}
}
测试结果
String类测试
CharAt正常
CharAt异常
Split正常
Split异常
Arrays类测试
Sort正常
Sort异常
binarySearch正常