对java源代码中ArrayList类中indexOf的测试,并使用Junit进行测试,给出测试代码和测试用例
时间: 2024-12-22 17:32:47 浏览: 16
在Java中,`ArrayList`类提供了一个名为`indexOf()`的方法,用于查找指定元素在列表中的索引位置。如果找到该元素,它将返回该元素的索引;如果没有找到,则返回-1。为了确保这个方法按照预期工作,我们可以编写一个JUnit测试用例来进行验证。
首先,假设我们有一个简单的`ArrayList<String>`:
```java
import java.util.ArrayList;
public class ArrayListExample {
private ArrayList<String> list = new ArrayList<>();
// 初始化list with elements
public ArrayListExample() {
list.add("Element1");
list.add("Element2");
list.add("Element3");
}
// 使用indexOf方法的方法
public int findIndex(String target) {
return list.indexOf(target);
}
}
```
接下来,我们将编写一个JUnit测试类来测试`findIndex()`方法:
```java
import org.junit.Test;
import static org.junit.Assert.*;
public class ArrayListTest {
private ArrayListExample listExample;
@Before
public void setUp() {
listExample = new ArrayListExample();
}
@Test
public void testIndexOfExistingElement() {
String element = "Element2";
int expectedIndex = 1; // 因为数组下标从0开始
assertEquals(expectedIndex, listExample.findIndex(element));
}
@Test
public void testIndexOfNonExistentElement() {
String nonExistentElement = "NoSuchElement";
int expectedIndex = -1;
assertEquals(expectedIndex, listExample.findIndex(nonExistentElement));
}
@Test
public void testEmptyList() {
String emptyElement = "";
int expectedIndex = -1;
assertEquals(expectedIndex, listExample.findIndex(emptyElement));
}
}
```
在这个测试类中,我们创建了三个测试用例:
1. 检查存在元素时,返回正确的索引。
2. 检查不存在的元素时,返回-1。
3. 检查空列表时,同样返回-1。
阅读全文